CodeBlocks undefined reference to 问题
在使用CodeBlocks编译程序的时候提示如下错误:
obj\Release\main.o:main.c:(.text+0xb7b)||undefined reference to `_gdk_pixbuf_new_from_file_utf8'|
无法链接到库函数。 找不到函数的定义的问题一般是没有把需要用的函数库包含进来
首先参照这篇文章http://www.nipei.com/article/7048。把编译GTK+程序所需要的参数都重定向文本文件中。
然后到CodeBlocks中的设置这些参数:
settings-compiler and debugger settings
在global compiler settings-compiler settings-other option中加入
-mms-bitfields -IC:/gtk/include/gtk-2.0 -IC:/gtk/lib/gtk-2.0/include -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pango-1.0 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include -IC:/gtk/include/libpng12
在linker settings 中加入
-LC:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
然后在重现编译程序就没有问题了。