macOS中意外的共享库依赖性

时间:2018-06-29 15:44:45

标签: c++ macos linker shared-libraries

我正在尝试运行一些需要共享库的代码。我使用

链接到图书馆

g++ test.cpp -o test -lXm -L/Applications/OpenMotif21/lib/ -L/lengthy_path_to_folder_goes_here/dislin -ldiscpp

问题是,当我尝试运行可执行文件时,出现错误

dyld: Library not loaded: /usr/local/lib/libdiscpp.11.dylib Referenced from: /long_path_to_folder/./test Reason: image not found

我使用otool -L test查看链接到我的可执行文件的库,并且存在libdiscpp.11.dylib,但没有libdiscpp.dylib。输出如下:

test: /Applications/OpenMotif21/lib/libXm.3.1.dylib (compatibility version 3.1.0, current version 3.1.0) /usr/local/lib/libdiscpp.11.dylib (compatibility version 11.1.0, current version 11.1.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)

我从未告诉过g ++链接到libdiscpp.11.dylib(不存在)。为什么要链接到它,但libdiscpp.dylib没有?

0 个答案:

没有答案