对于我正在编写的C项目,我需要使用GMP库,我已将它解压到我的主目录(使用OpenBSD OS和bash)。我通过git与其他人一起工作,所以我不能将标题更改为相关文件,此时GCC正在给出无法找到它的错误。我没有root privelidges,所以我不能只安装它。如何让C识别没有正确安装的库文件?
如何让GCC在我的home文件夹中找到GMP库而不是通常的地方?
对于我正在编写的C项目,我需要使用GMP库,我已将它解压到我的主目录(使用OpenBSD OS和bash)。我通过git与其他人一起工作,所以我不能将标题更改为相关文件,此时GCC正在给出无法找到它的错误。我没有root privelidges,所以我不能只安装它。如何让C识别没有正确安装的库文件?
如何让GCC在我的home文件夹中找到GMP库而不是通常的地方?
编译时使用的参数-I
告诉GCC到哪里寻找头文件和-L
告诉GCC到哪里寻找libraires。
例如:
$ gcc -I/location/of/library/headers -c foo.c -o foo.o
$ gcc -L/location/of/library/libs foo.o -o foo -llibrary
解决方案是使用您设置的环境变量指向安装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目录的GMP_PATH变量获取包含路径。
所以有可能有类似${GMP_PATH}/include
,${GMP_PATH}/src/include
等