我正在尝试使用 GCC 4.2.1 编译一个程序,该程序需要一个在 Mac OS X (10.8.3) 上随 Homebrew 安装的库。这是一个使用 gvc.h 的简单 C 程序,gvc.h 是 graphviz 附带的库。文件夹 /usr/local/Cellar/graphviz/2.28.0/lib 包含 libgvc.dylib 和 libgvc.6.dylib,但是当我尝试时
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 选项组合都不起作用。
您已经指定了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/include 是您可以找到 gvc.h 的位置;如果您不确定,请使用
locate *gvc.h
来查找路径。)
另请注意,某些版本的 gcc 使用源文件来确定实际链接的 lib 文件,因此您可能需要在链接路径/文件之前指定 .c 文件:
gcc -I/usr/local/Cellar/graphviz/2.28.0/include simple.c -L/usr/local/Cellar/graphviz/2.28.0/lib -lgvc
^^^^^^^^