On 3/27/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Hi,
> I'm  pretty new, and I'm trying to add some functionality to gparted...
> By compiling I get an error, it seems that my function is not properly
> declared, but I can't find the mistake ! Can somebody help me ?
>
>       * Here is the error message :
>       * 
> -------------------------------------------------------------------------
> Win_GParted.o: In function
> `GParted::Win_GParted::activate_make_image()':
> /home/wsb/Projects/gparted/src/Win_GParted.cc:1799: undefined reference
> to `GParted::Dialog_Make_Image::Dialog_Make_Image(GParted::Partition
> const&)'
> collect2: ld returned 1 exit status
>       * 
> ---------------------------------------------------------------------------
>       * Here is the function in Win_GParted.cc
>       * 
> ---------------------------------------------------------------------------
> void Win_GParted::activate_make_image()
> {
>         get_window() ->set_cursor( Gdk::Cursor( Gdk::WATCH ) ) ;
>         while ( Gtk::Main::events_pending() )
>                 Gtk::Main::iteration() ;
>
>         Dialog_Make_Image dialog( selected_partition ) ; //line 1799
>         dialog .set_transient_for( *this ) ;
>         /*dialog .signal_get_flags .connect(
>                 sigc::mem_fun( &gparted_core, 
> &GParted_Core::get_available_flags ) ) ;
>         dialog .signal_toggle_flag .connect(
>                 sigc::mem_fun( &gparted_core, &GParted_Core::toggle_flag ) ) ;
>         */
>         get_window() ->set_cursor() ;
>
>         dialog .run() ;
>         dialog .hide() ;
>
> }
>       * 
> ---------------------------------------------------------------------------
>       * Here is Dialog_make_image.h :
>       * 
> ---------------------------------------------------------------------------
> Here is Dialog_make_image.h :
> #ifndef DIALOG_MAKE_IMAGE_H
> #define DIALOG_MAKE_IMAGE_H
>
> #include "../include/Partition.h"
>
> #include <gtkmm/dialog.h>
> #include <gtkmm/treeview.h>
> #include <gtkmm/liststore.h>
>
> namespace GParted
> {
>
> class Dialog_Make_Image : public Gtk::Dialog
> {
> public:
>         Dialog_Make_Image( const Partition & partition );
>
>         sigc::signal< std::map<Glib::ustring, bool>, const Partition & >
> signal_get_flags ;
>
> sigc::signal< bool, const Partition &, const Glib::ustring &,
> bool > signal_toggle_flag ;
>
> private:
>         Partition partition ;
> };//class
>
> } //GParted
>
>
> #endif //DIALOG_MAKE_IMAGE_H
>       * 
> ---------------------------------------------------------------------------
>       * Here is Dialog_make_image.cc :
>       * 
> ---------------------------------------------------------------------------
> #include "../include/Dialog_Make_Image.h"
>
> #include <gtkmm/main.h>
> #include <gtkmm/stock.h>
> #include <gdkmm/cursor.h>
>
> namespace GParted
> {
>
> Dialog_Make_Image::Dialog_Make_Image( const Partition & partition )
> {
>         set_title( String::ucompose( _("Make an image from partition %1"),
> partition .get_path() ) );
>         set_has_separator( false ) ;
>         set_resizable( true ) ;
>
>         Glib::ustring str_temp = "<span weight=\"bold\" size=\"larger\">" ;
>         str_temp += String::ucompose( _("Choose target image file for the %1
> backup"), partition .get_path() ) ;
>         str_temp += "</span>\n" ;
>         get_vbox() ->pack_start( * Utils::mk_label( str_temp ),
> Gtk::PACK_SHRINK );
>
>         add_button( Gtk::Stock::CLOSE, Gtk::RESPONSE_OK ) ->grab_focus() ;
>
>         show_all_children() ;
>         this ->partition = partition ;
>
> } //class
>
> }//gparted
>
> _______________________________________________
> gtkmm-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtkmm-list
>

I'm just guessing, but did you create a new source file and forget to
add it to the list of files that needs to be compiled and linked in
the build script?

Paul Davis
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to