I was compiling Lazarus with gtk2 (I have gtk2.8.17) in Linux and I got the following errors when linking: -===
/usr/lib/fpc/2.1.1/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_CHOOSER_DEFAULT$$LONGWORD': gtk2.pas:(.text+0xb9b1): undefined reference to `_gtk_file_chooser_default_get_type' /usr/lib/fpc/2.1.1/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_CHOOSER_EMBED$$LONGWORD': gtk2.pas:(.text+0xba11): undefined reference to `_gtk_file_chooser_embed_get_type' /usr/lib/fpc/2.1.1/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_CHOOSER_ENTRY$$LONGWORD': gtk2.pas:(.text+0xba91): undefined reference to `_gtk_file_chooser_entry_get_type' lazarus.pp(113,1) Error: Error while linking
make[2]: *** [lazarus] Error 1
TMessagesView.CollectLineParts WARNING: 2013 SrcLine=make[2]: *** [lazarus] Error 1 TExternalToolList.Run Exception: make[2]: *** [lazarus] Error 1 ===
I did look further and I found that I did not have the following files in my /usr/include directory:
gtkfilechooserembed.h
gtkfilechooserentry.h
gtkfilechooserdefault.h
The only place I have them is in my "/src/debug/gtk+-2.8.18/gtk/" directory. I suspect that gtk2 does NOT expose those corresponding .pas files are probably there just in case the gtk developers expose those symbols.
