Uh, I know this might not be the right forum to ask about this(which is why I'm also sending this question to the GTK+ mailing list, but then again, they might not be using Dev-c++, so I might be screwed anyway), but I'm going to go right ahead. I was fiddling around with C++ again after perhaps a year-long hiatus, and was getting pretty bored with the console interface that characterizes iostream.h(Also, my friends tell me that they won't play my game unless I get some nifty interface :( ), so I was going to put GTK+ back in. I installed the latest version of Dev-C++ - at least, that's what I think it is - actually, it's 4.9.9.2, and AFAIK 5.x is the latest? Whatever. 4.9.9.2 is my version, anyway.
I've never actually learnt how to install these kind of packs into my compiler and I just run from what I used to do. Namely, adding all the required directories, in which the required header files were, to the linker command list. Like,
-I "C:\Documents and Settings...\include\gtk-2.0\gtk" -I "C:\Documents and Settings...\include\gtk-2.0"
etc. It worked fine, like. All the initial "undefined reference to..." errors got away. However, when I entered the path of the last header file, I got a new, fun error: "[Linker Error]: undefined reference to " for every GTK function I used. So I'm stumped. I've also added all the directories under the directories tab, which didn't do any difference.
But I have some slight memory of having added some kind of linker flags to the end of the linker commands field. I unfortunately cannot remember what they were and my googling about has turned up nothing. I don't know if they would make a difference, but I thought that was the first route to follow.
Any ideas?
Oh yeah, one more thing. Apparently, the linker errors only respond to the actual functions. Declaration of GTK-specific objects and stuff like that doesn't turn up in the compile log. And speaking of which, I present thy with the compile log:
Compiler: GTK compiler
Executing g++.exe...
g++.exe "C:\Documents and Settings\synthmon\Mina dokument\gtktest.cpp" -o "C:\Documents and Settings\synthmon\Mina dokument\gtktest.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -I"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include" -I"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0\gtk" -L"C:\Dev-Cpp\lib" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\lib" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\bin" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0\gtk" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0\gtk" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\cairo" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\glib-2.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\pango-1.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\atk-1.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\glib-2.0\glib" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\glib-2.0\gobject" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\lib\glib-2.0\include" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\lib\gtk-2.0\include" -mwindows
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x10e):gtktest.cpp: undefined reference to gtk_exit'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x164):gtktest.cpp: undefined reference togtk_init_abi_check'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x170):gtktest.cpp: undefined reference to gtk_window_new'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x182):gtktest.cpp: undefined reference togtk_widget_show'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x187):gtktest.cpp: undefined reference to gtk_object_get_type'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x198):gtktest.cpp: undefined reference tog_type_check_instance_cast'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x1d8):gtktest.cpp: undefined reference to gtk_signal_connect_full'
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x1dd):gtktest.cpp: undefined reference togtk_main'
collect2: ld returned 1 exit status
Execution terminated
(I realize that the "Basic 3"(Yes, I read the "DONT POST BEFORE YOU READ THIS" thread, ain't I amazing) included two things that I haven't mentioned: an example program. Kind of hard with this kind of problem, innit?)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, everyone.
Uh, I know this might not be the right forum to ask about this(which is why I'm also sending this question to the GTK+ mailing list, but then again, they might not be using Dev-c++, so I might be screwed anyway), but I'm going to go right ahead. I was fiddling around with C++ again after perhaps a year-long hiatus, and was getting pretty bored with the console interface that characterizes iostream.h(Also, my friends tell me that they won't play my game unless I get some nifty interface :( ), so I was going to put GTK+ back in. I installed the latest version of Dev-C++ - at least, that's what I think it is - actually, it's 4.9.9.2, and AFAIK 5.x is the latest? Whatever. 4.9.9.2 is my version, anyway.
I've never actually learnt how to install these kind of packs into my compiler and I just run from what I used to do. Namely, adding all the required directories, in which the required header files were, to the linker command list. Like,
-I "C:\Documents and Settings...\include\gtk-2.0\gtk" -I "C:\Documents and Settings...\include\gtk-2.0"
etc. It worked fine, like. All the initial "undefined reference to..." errors got away. However, when I entered the path of the last header file, I got a new, fun error: "[Linker Error]: undefined reference to " for every GTK function I used. So I'm stumped. I've also added all the directories under the directories tab, which didn't do any difference.
But I have some slight memory of having added some kind of linker flags to the end of the linker commands field. I unfortunately cannot remember what they were and my googling about has turned up nothing. I don't know if they would make a difference, but I thought that was the first route to follow.
Any ideas?
Oh yeah, one more thing. Apparently, the linker errors only respond to the actual functions. Declaration of GTK-specific objects and stuff like that doesn't turn up in the compile log. And speaking of which, I present thy with the compile log:
Compiler: GTK compiler
Executing g++.exe...
g++.exe "C:\Documents and Settings\synthmon\Mina dokument\gtktest.cpp" -o "C:\Documents and Settings\synthmon\Mina dokument\gtktest.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -I"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include" -I"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0\gtk" -L"C:\Dev-Cpp\lib" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\lib" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\bin" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include" -L"C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0\gtk" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0\gtk" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\gtk-2.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\cairo" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\glib-2.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\pango-1.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\atk-1.0" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\glib-2.0\glib" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\include\glib-2.0\gobject" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\lib\glib-2.0\include" -I "C:\Documents and Settings\synthmon\Mina dokument\gtk o grejer\lib\gtk-2.0\include" -mwindows
C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x10e):gtktest.cpp: undefined reference to
gtk_exit' C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x164):gtktest.cpp: undefined reference to
gtk_init_abi_check'C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x170):gtktest.cpp: undefined reference to
gtk_window_new' C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x182):gtktest.cpp: undefined reference to
gtk_widget_show'C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x187):gtktest.cpp: undefined reference to
gtk_object_get_type' C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x198):gtktest.cpp: undefined reference to
g_type_check_instance_cast'C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x1d8):gtktest.cpp: undefined reference to
gtk_signal_connect_full' C:\DOCUME~1\synthmon\LOKALA~1\Temp/ccApbaaa.o(.text+0x1dd):gtktest.cpp: undefined reference to
gtk_main'collect2: ld returned 1 exit status
Execution terminated
(I realize that the "Basic 3"(Yes, I read the "DONT POST BEFORE YOU READ THIS" thread, ain't I amazing) included two things that I haven't mentioned: an example program. Kind of hard with this kind of problem, innit?)