2013-04-13 91 views
4

我想用GCC 4.2.1編譯一個程序,它需要一個在Mac OS X(10.8.3)上安裝了Homebrew的庫。這是一個簡單的C程序,它使用gvc.h,它是graphviz附帶的庫。該文件夾/usr/local/Cellar/graphviz/2.28.0/lib同時包含libgvc.dylib和libgvc.6.dylib,但是當我嘗試使用gcc鏈接到使用Homebrew安裝的動態庫?

gcc -L/usr/local/Cellar/graphviz/2.28.0/lib -lgvc simple.c 

我得到的錯誤

simple.c:1:17: error: gvc.h: No such file or directory 

我懷疑有一個簡單的修復,但沒有我嘗試過的gcc選項的組合。

回答

2

您已經指定了lib對象的路徑,但沒有指定需要包含的頭文件的路徑。你的命令編譯需求是這樣的:

gcc -I/usr/local/Cellar/graphviz/2.28.0/include -L/usr/local/Cellar/graphviz/2.28.0/lib -lgvc simple.c 

(我假定-I在/ usr /.../ 2.28.0 /包括在這裏你可以找到gvc.h;如果你是不知道,用locate *gvc.h尋找路徑。)

還要注意,海灣合作委員會的某些版本使用源文件,以確定哪些LIB文件將實際聯繫起來,所以你可能需要在之前指定的.c文件鏈接路徑/文件:

gcc -I/usr/local/Cellar/graphviz/2.28.0/include simple.c -L/usr/local/Cellar/graphviz/2.28.0/lib -lgvc 
               ^^^^^^^^