执行 Makefile 时出现致命错误
Fatal Error when executing a Makefile
我目前正在做一项作业,需要我构建一个 Makefile
- 创建一个包含目录
- 将math330.h文件复制到包含目录
- 创建一个 lib 目录
- 将 trig 和 exp 中的 .c 文件编译为目标文件
- 建立图书馆
- 将库安装到lib目录
- 针对包含和库目录编译 cli 程序
所以我已经为此编写了大部分代码,但是当我尝试将触发函数的 .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
指定包含目录的选项是大写-I (I
),而不是小写 L (l
)。
gcc -I ./include …
小写的ell表示库名。考虑到 -l ./include
,可怜的 link 人会在寻找图书馆 lib./include.a
或 lib./include.so
到 link 时精神分裂(可能在 ./lib
目录),它可能找不到它。但它并没有走到那一步。
我目前正在做一项作业,需要我构建一个 Makefile
- 创建一个包含目录
- 将math330.h文件复制到包含目录
- 创建一个 lib 目录
- 将 trig 和 exp 中的 .c 文件编译为目标文件
- 建立图书馆
- 将库安装到lib目录
- 针对包含和库目录编译 cli 程序
所以我已经为此编写了大部分代码,但是当我尝试将触发函数的 .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
指定包含目录的选项是大写-I (I
),而不是小写 L (l
)。
gcc -I ./include …
小写的ell表示库名。考虑到 -l ./include
,可怜的 link 人会在寻找图书馆 lib./include.a
或 lib./include.so
到 link 时精神分裂(可能在 ./lib
目录),它可能找不到它。但它并没有走到那一步。