为什么这个Mac OS X rpath命令不起作用?

时间:2014-07-28 14:34:41

标签: macos linker rpath

我尝试使用rpath链接某些应用程序库。其中一些路径可供其他人使用。

我有两个动态库,我在不同的目录中链接到libgunrocklibtd

我的链接如下所示:

gcc -L/Users/aterrel/workspace/apps/gunrock/build/lib/ -Wl,-rpath -Wl,/Users/aterrel/workspace/apps/gunrock/build/lib/ -lgunrock  -L/Users/aterrel/workspace/apps/xdata/xlang/thunderdome -Wl,-rpath -Wl,/Users/aterrel/workspace/apps/xdata/xlang/thunderdome -ltd  app-c-gunrock-bokeh.o -o app

载荷路径是正确的。 otool -l app的相关部分:

Load command 16
          cmd LC_RPATH
      cmdsize 64
         path /Users/aterrel/workspace/apps/gunrock/build/lib/ (offset 12)
Load command 17
          cmd LC_RPATH
      cmdsize 72
         path /Users/aterrel/workspace/apps/xdata/xlang/thunderdome (offset 12)
Load command 18

然而我仍然得到错误:

dyld: Library not loaded: libtd.dylib
  Referenced from: /Users/aterrel/workspace/apps/xdata/xlang/webgraph/apps/c-gunrock-bokeh/./app
  Reason: image not found
Trace/BPT trap: 5

如果我使用DYLD_LIBRARY_PATH=/Users/aterrel/workspace/apps/xdata/xlang/thunderdome app运行正常。

我不明白为什么libgunrock.dylib被正常加载但libtd.dylib不是。

0 个答案:

没有答案