试了几次,都稀里糊涂,今天终于从CU找到正解了,贴一下
按照你的情况修改Make.defines.OS, 然后make
完成后按照如下方法编译链接生成elf可执行文件:
先对file/ls1.c进行编译,生成目标文件ls1.o:
gcc -c -I ../include -o ls1.o ls1.c
[说明]:-c 仅进行编译
-I ../include 因为ls1.c有头文件apue.h在../include中,要指定其所在
-o ls1.o 输出文件,因为前面有-c选项,所以输出文件是目标文件ls1.o,而不是可执行文件
再进行链接,生成可执行文件ls1:
gcc -o ls1 ls1.o ../lib/libapue.a
[说明]:-o ls1 输出可执行文件
ls1.o ../lib/libapue.a 将所需的目标文件和库文件链接生成可执行文件。
运行./ls1 / 就可查看/目录下的文件了。
对gcc使用不熟的可以man gcc,里面很详细;
上面方法嫌麻烦的话,可以写成makefile文件,make一下就行了。不过建议初学者还是先用这种方法,熟悉熟悉编译链接等的一些知识。
欢迎大家一起来讨论。
阅读(982) | 评论(0) | 转发(0) |