【发布时间】:2016-04-15 07:16:15
【问题描述】:
我目前正在处理一项要求我构建一个 Makefile 的任务
- 创建一个包含目录
- 将 math330.h 文件复制到包含目录中
- 创建一个lib目录
- 将 trig 和 exp 中的 .c 文件编译为目标文件
- 制作图书馆
- 将库安装到lib目录
- 针对包含和库目录编译 cli 程序
因此,我为此编写了大部分代码,但是当我尝试将 trig 函数的 .o 放入包含文件夹时,我不断收到错误消息。错误是
trig/cos330.c:1:10: fatal error: 'math330.h' file not found
这只是我需要帮助的最后一部分!有人可以给我一些关于我能做什么的提示吗?谢谢!
all:
mkdir -p ./include
mkdir -p ./lib
cp math330.h ./include
gcc -l ./include/ -c trig/*.c
gcc -l ./include/ -c exp/*.c
mv *.o ./lib/
ar r libmath.a lib/*
mv libmath.a lib/
gcc -l ./include/ cli/cli.c -L ./lib -lmath -lm
clean:
rm -rf include
rm -rf lib
rm a.out
【问题讨论】:
-
-l选项看起来不对。你想要-I和/或-L? -
这绝对不是创建
makefile的好方法。请阅读一些关于编写 makefile 的介绍,或者在这里找到关于 SO 的问题——有很多可供选择的 .并且请不要在得到答案后立即删除问题;这不是长期受欢迎的秘诀。
标签: unix makefile object-files