使用gcc链接到使用Homebrew安装的动态库?

时间:2013-04-13 20:41:39

标签: gcc compiler-construction graphviz homebrew

我正在尝试使用GCC 4.2.1编译一个程序,该程序需要在Mac OS X(10.8.3)上安装Homebrew的库。这是一个使用gvc.h的简单C程序,它是一个随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选项的组合都没有。

1 个答案:

答案 0 :(得分: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 / 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
                                                ^^^^^^^^