g++ ld共享库code::blocks错误
g++ ld shared library error with code::blocks
也有类似的话题,但我还没能从中找到我的答案。
我正在使用代码::blocks IDE构建一个测试控制台应用程序。它需要加载一个名为libhdhomerun的DVB共享库。所以(来自硅尘)为高清全垒打DVB调谐器。HDHR调谐器库已经使用。/configure,…, sudo make install, ldconfig等,它都与他们的实用程序一起工作(同时构建)。所以-库在那里,OK。
库自己安装到/usr/local/lib与其他共享库不同,它实际上没有符号链接,但它也没有任何版本信息。
当我构建代码时(已经显式地包含了/usr/local/lib/libhdhomerun.so), old阶段在
处失败。"cannot find -lhdhomerun.so"
我已经尝试了包括(/usr/local/lib/) libhdhomerun的所有组合。所以,hdhomerun。所以,libhdhomerun, hdhomerun,创建一个符号链接等等。没什么区别。
奇怪的是,我有udev, mysql和libdvbv5共享库包含在完全相同的方式,他们都很好。唯一不链接的是hdhomerun。
如果我从命令行运行手动详细链接步骤"ld -lhdhomerun"。所以——verbose",它确实失败了——因为它试图找到libhdhomerun.so.so.
感谢收到任何建议-但我确实需要继续使用code::块。
要正确链接库,您需要在您的环境中定义库路径,并使用带-l标志的正确库名。库路径在LD_LIBRARY_PATH
环境变量中定义。对于-l
标志到g++
,不应该提供库扩展-正如您已经观察到的那样,所以在您的情况下,它应该是这样的:
-lhdhomerun
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 代码:: Blocks Console黑屏?没有错误
- GLUT 使用 Code::Blocks 编译错误
- 包括Code::Blocks错误中的多个标头
- dev 代码::Blocks/ Dev-c++: 错误: iostream: 没有这样的文件或目录
- code::blocks中出现奇怪的错误
- 代码::Blocks -编译c++时没有这样的文件或目录错误
- g++ ld共享库code::blocks错误