我正在尝试运行一些需要共享库的代码。我使用
链接到图书馆 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没有?