Tag: ubuntu 12.04

在ubuntu 12.04中链接gtk2应用程序中的错误

我有一个C GUI应用程序(在GTK + 2.0中 ),我用来链接如下: gcc -O2 -std=gnu99 -pipe -Wall -lm `pkg-congig gtk+-2.0 `pkg-config –libs gtk+-2.0` -o exec ao bo co 最终转换成: gcc -O2 -std=gnu99 -pipe -Wall -lm -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64 linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 […]

C:对地板的未定义参考

我在Ubuntu上使用Eclipse来编写/编译/运行C代码。 我正在尝试构建我的项目。 以下是Eclipse控制台中的输出。 22:18:31 **** Build of configuration Debug for project Project1 **** make all Building file: ../project1.c Invoking: GCC C Compiler gcc -I/lib/i386-linux-gnu -O0 -g3 -Wall -c -fmessage-length=0 -pthread -lm -MMD -MP -MF”project1.d” -MT”project1.d” -o “project1.o” “../project1.c” ../project1.c: In function ‘main’: ../project1.c:146:6: warning: unused variable ‘this_thread_id’ [-Wunused-variable] ../project1.c: In function ‘_pre_init’: ../project1.c:126:1: warning: control […]

gcc如何自动知道包含glib库

我在C中使用glib.h编写简单的程序,但是当我编译它时,我得到一个错误: $ gcc test.c -o test test.c:3:18: fatal error: glib.h: No such file or directory compilation terminated. 所以从上面看来gcc找不到glib.h文件(这是libglib2.0-dev软件包的一部分并且已经安装了它)。 所以首先我尝试在我的系统中找到glib.h文件并找到如下输出: $ locate glib.h /usr/src/linux-headers-3.2.0-29-generic-pae/include/config/blk/dev/bsglib.h /usr/src/linux-headers-3.2.0-48-generic-pae/include/config/blk/dev/bsglib.h /usr/src/linux-headers-3.2.0-57-generic-pae/include/config/blk/dev/bsglib.h 然后我尝试了命令: $ pkg-config –cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include 为GCC获得正确的标志,但它仍然显示相同的错误。 所以试着从SO中找到解决方案并找到精确的解决方案 $ gcc test.c -Wall -o test `pkg-config –cflags –libs glib-2.0` 这个命令解决了我的问题 但我有疑问,是不是有任何方法可以告诉gcc包含glib库所以不需要在gcc之后给出标志pkg-config –cflags –libs glib-2.0并简单地通过gcc test.c -o test编译我的文件?