对于我正在编写的C项目,我需要使用GMP库,我已将其解压缩到我的主目录中(使用带有bash的OpenBSD OS)。我正在通过git与其他人合作,所以我无法将标题更改为相关文件,而目前GCC正在提供无法找到它的错误。我没有root privelidges,所以我不能只安装它。
如何让GCC在我的主文件夹而不是通常的地方寻找GMP库?
答案 0 :(得分:4)
编译时使用参数-I
告诉GCC在哪里查找头文件,然后-L
告诉GCC在哪里寻找图书馆。
例如:
$ gcc -I/location/of/library/headers -c foo.c -o foo.o
$ gcc -L/location/of/library/libs foo.o -o foo -llibrary
答案 1 :(得分:0)
解决方案是使用您设置的环境变量指向安装GMP库的位置。
例如这个bash脚本:
#!/bin/bash
export GMP_PATH=/home/mylibs/gmp
在你的makefile(或脚本)中你可以使用类似的东西:
gcc my_file1.c my_file2.c my_file3.c -I${GMP_PATH}/include
我不知道GMP库的目录结构,但您应该能够获得基于GMP_PATH变量的include路径,该变量指向GMP目录。
因此可以使用${GMP_PATH}/include
,${GMP_PATH}/src/include
等等。