我正在尝试在我的 MacOSx 上使用 c++ 的小波库 (https://sourceforge.net/projects/wavelet2d/files/wavelib-0.4.0.0/),但在使其工作时遇到了困难。
这是我的命令行:
g++ -I /usr/local/include/wavelib -L /usr/local/lib -lwavelet2d testWavelib3.cpp -o testWavelib3
我收到以下错误:
library not found for -lwavelet2d
库文件在目录/usr/local/lib
中名为'libwavelet2d.so.1'
。
你有什么想法吗?
最佳答案
您提到您在 /usr/local/lib
中有 libwavelet2d.so.1
,但没有 libwavelet2d.so
。通常这意味着您已经为该库安装了“运行时包”,但没有安装“开发包”。应该有一个符号链接(symbolic link) /usr/local/lib/libwavelet2d.so -> libwavelet2d.so.1
。
你可以自己制作符号链接(symbolic link)来试试:
ln -s libwavelet2d.so.1 /usr/local/lib/libwavelet2d.so
在构建时,需要没有版本后缀(.1
)的文件。在运行时,只会引用后缀文件。
关于c++ - 编译错误 : library not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46056533/