2011-12-12 95 views
1

对于我正在编写的C项目,我需要使用GMP库,我已将它解压到我的主目录(使用OpenBSD OS和bash)。我通过git与其他人一起工作,所以我不能将标题更改为相关文件,此时GCC正在给出无法找到它的错误。我没有root privelidges,所以我不能只安装它。如何让C识别没有正确安装的库文件?

如何让GCC在我的home文件夹中找到GMP库而不是通常的地方?

回答

4

编译时使用的参数-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 
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目录的GMP_PATH变量获取包含路径。

所以有可能有类似${GMP_PATH}/include${GMP_PATH}/src/include