当前位置: 技术问答>linux和unix
gcc/ld的问题
来源: 互联网 发布时间:2015-10-08
本文导语: 我写了main.c程序如下: #include int main(void) { printf("hello"); return 0; } 用gcc main.c编译得到a.out,执行成功。 用gcc -c main.c ld -o main main.o 提示出错: main.o:In function 'main': main.o(.text+0x19):Undefined reference to 'printf' ...
我写了main.c程序如下:
#include
int main(void)
{
printf("hello");
return 0;
}
用gcc main.c编译得到a.out,执行成功。
用gcc -c main.c
ld -o main main.o
提示出错:
main.o:In function 'main':
main.o(.text+0x19):Undefined reference to 'printf'
这是为什么呢?
#include
int main(void)
{
printf("hello");
return 0;
}
用gcc main.c编译得到a.out,执行成功。
用gcc -c main.c
ld -o main main.o
提示出错:
main.o:In function 'main':
main.o(.text+0x19):Undefined reference to 'printf'
这是为什么呢?
|
gcc -c main.c
gcc -o main main.o
或
gcc -c main.c
ld -o main main.o -lc
gcc -o main main.o
或
gcc -c main.c
ld -o main main.o -lc
|
原因是ld找不到库文件,用-l可以指定库名。还可以用-L指定路径。