无法与共享库链接

时间:2013-07-22 11:48:04

标签: macos gcc ld macports

我无法将程序与位于非标准OSX lib目录中的共享库链接。我从MacPorts获得了这个库,它位于/ opt / local / lib:

$ ls /opt/local/lib/libgmp*
/opt/local/lib/libgmp.10.dylib  /opt/local/lib/libgmpxx.4.dylib
/opt/local/lib/libgmp.a         /opt/local/lib/libgmpxx.a
/opt/local/lib/libgmp.dylib     /opt/local/lib/libgmpxx.dylib
/opt/local/lib/libgmp.la        /opt/local/lib/libgmpxx.la

我发现可以使用DYLD_FALLBACK_LIBRARY_PATH,但它对我不起作用:

$ DYLD_LIBRARY_PATH=/opt/local/lib gcc ab.c -lgmp
ld: library not found for -lgmp
collect2: ld returned 1 exit status

1 个答案:

答案 0 :(得分:1)

在运行时,DYLD_LIBRARY_PATH可帮助动态链接器从非标准目录中找到库。

在您的情况下,您仍处于编译阶段。 要让gcc知道要搜索的这些额外目录,可以使用-L switch。

e.g。

gcc ab.c -L/opt/local/lib -lgmp