编译错误:找不到库

时间:2017-09-05 13:43:05

标签: c++ compiler-errors shared-libraries

我试图在我的MacOSx上使用小波库来进行c ++(https://sourceforge.net/projects/wavelet2d/files/wavelib-0.4.0.0/)并且在使其工作时遇到了麻烦。

这是我的命令行:

3×3×16

我收到以下错误:

g++ -I /usr/local/include/wavelib -L /usr/local/lib -lwavelet2d testWavelib3.cpp -o testWavelib3

库文件在目录library not found for -lwavelet2d 中名为'libwavelet2d.so.1'

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您提到libwavelet2d.so.1中有/usr/local/lib,但libwavelet2d.so没有/usr/local/lib/libwavelet2d.so -> libwavelet2d.so.1。通常这意味着您已经安装了"运行时包"对于这个库而不是"开发包"。应该有一个符号链接ln -s libwavelet2d.so.1 /usr/local/lib/libwavelet2d.so

您可以自己制作符号链接来尝试:

.1

在构建时,需要没有版本后缀({{1}})的文件。在运行时,只会引用后缀文件。