当前位置: 技术问答>linux和unix
makefile的小错误
来源: 互联网 发布时间:2017-04-12
本文导语: 本帖最后由 kunikida 于 2013-05-13 21:42:31 编辑 getopt:getopt.o gcc -o getopt getopt.o getopt.o:main.c gcc -c main.c clean: -rm *.o getopt 运行make命令后,显示如下: gcc -c main.c gcc -o getopt getopt.o gcc:错误:getopt.o没...
getopt:getopt.o
gcc -o getopt getopt.o
getopt.o:main.c
gcc -c main.c
clean:
-rm *.o getopt
运行make命令后,显示如下:
gcc -c main.c
gcc -o getopt getopt.o
gcc:错误:getopt.o没有那个文件或目录
gcc:致命错误,没有输入文件
编译中断
make:***[getopt]错误4
不知道哪里错了,但是我若运行:
gcc -o getopt main.c
就能正确编译了。请教各位兄弟帮忙,谢谢
|
-o -c 参数的作用:
1. -o Place the output into
如:#gcc -o file file.c
-o 告诉编译器将可执行程序放在何处,如果没有指定文件名称,编译器则会把程序放在一个名为a.out的文件里(a.out的含义是 assembler output,即汇编输出)。
2. -c Compile and assemble, but do not link
如:#gcc -c file.c
-c 告诉编译器仅把源代码编译为目标模块(file.o)而跳过汇编和连接的步骤。在使用-c生成目标模块后,就
可以通过-o选项来生成可执行文件。
如:#gcc -o file file1.o file2.o 可以是多个目标模块。
1. -o Place the output into
如:#gcc -o file file.c
-o 告诉编译器将可执行程序放在何处,如果没有指定文件名称,编译器则会把程序放在一个名为a.out的文件里(a.out的含义是 assembler output,即汇编输出)。
2. -c Compile and assemble, but do not link
如:#gcc -c file.c
-c 告诉编译器仅把源代码编译为目标模块(file.o)而跳过汇编和连接的步骤。在使用-c生成目标模块后,就
可以通过-o选项来生成可执行文件。
如:#gcc -o file file1.o file2.o 可以是多个目标模块。
|
getopt.o:main.c
gcc -o getopt.o -c main.c
gcc -o getopt.o -c main.c
|
楼上正解 -o -c 都要有。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。