Re: win32 port of libglademm doesn't work
Viktor Dick <[email protected]> Wed, 18 May 2005 17:45:16 +0200
| Newsgroups | gmane.comp.gnome.gnomemm |
|---|---|
| Message-ID | <[email protected]> |
Hey, Cedrig Gustin gave me the solution:
under Windows the order of compiler and linker flags matters.
So it is important to do give the LDFLAGS after the source files:
$(GCC) $(CFLAGS) -o $(BIN) $(SRC) $(LDFLAGS)
and not
$(GCC) $(CFLAGS) $(LDFLAGS) -o $(BIN) $(SRC
Viktor Dick schrieb:
> Michael J M Thomson schrieb:
>
>> Looks like incompatibilities between gtkmm and libsigc++, might want
>> to check how recent your copy is of the latter. And your mingw version
>> must be 3.4.x, the site mentions "libglademm is now built with
>> g++-3.4.2" and compiler objects can be incompatible between releases.
>> Sorry I can't be of more help.
>
>
> I updated MinGW, so I have g++-2.4.2 now. This reduced the errors
> drasticly :)
> With the old version of gcc, a simple '#include <gtkmm.h>' or '#include
> <libglademm.h>' produced 50 KB of error output. Compiling with the new
> version, this simple programs work!
> But If I try to compile more "complex" source code, it still fails. For
> example:
>
> main.cpp:
> -------------------------------------
> #include <gtkmm.h>
>
> int main (int argc, char** argv)
> {
> Gtk::Main kit(argc, argv);
> Gtk::Window window1;
> Gtk::Main::run(window1);
> return 0;
> }
> -------------------------------------
>
> Makefile:
> -------------------------------------
> LIBS= gtkmm-2.4
> CFLAGS=`pkg-config --cflags $(LIBS)`
> LDFLAGS=`pkg-config --libs $(LIBS)`
>
> CPP=g++
> SRC=main.cpp
> BIN=programm
>
> $(BIN): $(SRC)
> $(CPP) $(CFLAGS) $(LDFLAGS) -o $(BIN) $(SRC)
> -------------------------------------
>
> $ make
> g++ `pkg-config --cflags gtkmm-2.4` `pkg-config --libs gtkmm-2.4` -o
> programm main.cpp
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x18c):main.cpp:
> undefined reference to `Gtk::Main::Main(int&, char**&, bool)'
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x1a9):main.cpp:
> undefined reference to `Gtk::Window::Window(Gtk::WindowType)'
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x1be):main.cpp:
> undefined reference to `Gtk::Main::run(Gtk::Window&)'
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x1d3):main.cpp:
> undefined reference to `Gtk::Window::~Window()'
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x1e8):main.cpp:
> undefined reference to `Gtk::Main::~Main()'
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x232):main.cpp:
> undefined reference to `Gtk::Window::~Window()'
> C:/DOKUME~1/AVDick/LOKALE~1/Temp/ccOQbaaa.o(.text+0x25f):main.cpp:
> undefined reference to `Gtk::Main::~Main()'
> collect2: ld returned 1 exit status
> make: *** [programm] Error 1
>
>
> If I try to open and parse a glade file, there are even more errors.
> _______________________________________________
> gnomemm-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gnomemm-list
>
>