2011-12-12 98 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