Gcc 非常简单的程序上的未定义引用
一旦我安装了Ubuntu11.10,就会出现奇怪的错误。我想在我的C程序中使用GD,所以我安装了包“libgd2 xpm dev”。所有内容都已安装-文件gd.h和libgd.a位于“/usr/include”和“/usr/lib”中。所以,我试着用GD编译简单的程序Gcc 非常简单的程序上的未定义引用,gcc,linker,linker-errors,undefined-reference,Gcc,Linker,Linker Errors,Undefined Reference,一旦我安装了Ubuntu11.10,就会出现奇怪的错误。我想在我的C程序中使用GD,所以我安装了包“libgd2 xpm dev”。所有内容都已安装-文件gd.h和libgd.a位于“/usr/include”和“/usr/lib”中。所以,我试着用GD编译简单的程序 #include <stdio.h> #include <gd.h> int main() { gdImagePtr im, im_clear; int black, wh
#include <stdio.h>
#include <gd.h>
int main()
{
gdImagePtr im, im_clear;
int black, white;
FILE *out1;
im = gdImageCreate(100, 100);
im_clear = gdImageCreate(100, 100);
white = gdImageColorAllocate(im, 255, 255, 255);
black = gdImageColorAllocate(im, 0, 0, 0);
return 0;
}
$ gcc -lgd gd.c
/tmp/cc6LReuX.o: In function `main':
gd2.c:(.text+0x19): undefined reference to `gdImageCreate'
gd2.c:(.text+0x31): undefined reference to `gdImageCreate'
gd2.c:(.text+0x59): undefined reference to `gdImageColorAllocate'
gd2.c:(.text+0x81): undefined reference to `gdImageColorAllocate'
我不知道该怎么办。这是gcc中的错误还是我做错了什么。在我以前的操作系统(Ubuntu 10.04)上,一切都很好。
我应该为您显示哪个文件?更改:
$ gcc -lgd gd.c
致:
(理由:!)
哦,在你做的时候加上-Wall
——每当我看到人们在编译时禁用警告时,我都会感到非常痛苦
$ gcc -Wall gd.c -lgd
可能是重复的哇,它起作用了!gcc的不明显特征。谢谢。另外,我总是用-墙,别担心:)谢谢-那有助于减轻疼痛。;-)
$ gcc gd.c -lgd
$ gcc -Wall gd.c -lgd