转载请注明来源 http://blog.csdn.net/imred/article/details/27731477
一开始我总是以为头文件的问题,但是声明了gdk_pixbuf_new_from_file函数的头文件经过<gtk/gtk.h>层层包含被包含进来了(所以C预处理器在对源代码进行预处理时并不是一步到位的,还要对替换后代码再替换?),所以并不是头文件没有包含进来。
谷歌了一下,dreamincode看到了另一个关于undefined reference to的问题,最后是这样的
EDIT:
Now I feel stupid... All I had to do was go to Project > Build Options and pick these as the linkers:
C:\Program Files\CodeBlocks\MinGW\lib\libSDL.dll.a;C:\Program Files\CodeBlocks\MinGW\lib\libSDLmain.a;C:\Program Files\CodeBlocks\MinGW\lib\libmingw32.a
然后解决就很简单了:D:\Program Files (x86)\gtk\lib\gdk_pixbuf-2.0.lib加进link libraries里
原来这些函数的声明在头文件里,实现代码编译在lib里,不包含lib的话同样会报错
转载请注明来源 http://blog.csdn.net/imred/article/details/27731477