c++ - 编译错误 : library not found

标签 c++ compiler-errors shared-libraries

我正在尝试在我的 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/

相关文章:

c++ - 文本到剪贴板

ios - 由于未捕获的异常 'NSUnknownKeyException'而终止应用程序

c# - 没有名为 fcntl 的模块

c++ - 什么是 .so.2 文件?

c++ - OpenCV中七个胡不变矩函数的含义

c++ - 创建的字符串如何从函数传回

c++ - 规避 ld 查找

linux - 从内存中卸载共享库

c++ - C++设计:基类构造函数和自定义字符串类的is-a或has-a关系

c++ - 未解析的模板参数