如何让C识别未正确安装的库?

时间:2011-12-12 12:19:02

标签: c gcc relative-path gmp

对于我正在编写的C项目,我需要使用GMP库,我已将其解压缩到我的主目录中(使用带有bash的OpenBSD OS)。我正在通过git与其他人合作,所以我无法将标题更改为相关文件,而目前GCC正在提供无法找到它的错误。我没有root privelidges,所以我不能只安装它。

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

2 个答案:

答案 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等等。