/usr/bin/ld:只有在库版本很少时才找不到(我认为)
/usr/bin/ld: cannot find happens only when the library has few versions (i think)
我正在尝试为c ++项目链接eclipse中的opencv库。
当我链接文件夹中有一个实例的库时,它似乎可以识别它,但无法识别库何时实例很少(也许术语实例不是那么准确,我不太确定这些不同版本的库的含义是什么(。
因此,正如我在其他问题中看到的那样,该问题似乎与滥用 lib 或错误路径无关。
这是我在构建项目时得到的:
12:33:17 **** Incremental Build of configuration Debug for project Test2 **** make all Building target: Test2 Invoking: GCC C++ Linker g++ -L/usr/local/Matlab/2013b/bin/glnxa64 -o "Test2" ./BilateralFilter.o ./main.o ./stdafx.o -lopencv_core -lmwvision_res -lmwvision -lopencv_imgproc -lopencv_highgui /usr/bin/ld: cannot find -lopencv_core /usr/bin/ld: cannot find -lopencv_imgproc /usr/bin/ld: cannot find -lopencv_highgui collect2: error: ld returned 1 exit status make: *** [Test2] Error 1
如您所见,MWvision似乎没有问题,但其他有问题,我认为这与它们存在于目录中的多个版本中有关(但也许我错了(。
opencv_core、opencv_imgproc 和 opencv_highgui 都有 .so.2.4 和 .so.2.4.2 版本。
不幸的是,这两个链接没有提供答案:
ld 链接问题:/usr/bin/ld: 找不到 [库名称]
usr/bin/ld:找不到共享库
我还要提到我在 Matlab 中没有用处,它只是我找到 opencv 库的地方。
opencv_core、opencv_imgproc 和 opencv_highgui 都有 .so.2.4 和 .so.2.4.2 版本。
如果您阅读了外部库版本控制的描述,您将了解.so.2.4
是库的运行时名称,而不是其链接时名称。
为了链接,您需要.so
(不带版本后缀(。
拥有.so.2.4
但不.so
通常发生在您拥有例如 libopencv-core
软件包已安装,但未libopencv-core-dev
。解决方案是安装后者。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- find_package(OpenSSL)找不到特定的libssl版本
- g++ libstdc++.so.6:从 4.8.5 升级到 GCC 版本 7.3.0 后找不到版本 'CXXABI_1.3.9'
- 找不到提升(缺少:unit_test_framework)(找到版本 "1.71.0")
- Anaconda ImportError: /usr/lib64/libstdc++.so.6: 找不到版本 'GLIBCXX_3.4.21'
- libstdc++.so 在使用 Patchelf 和备用 glibc 版本时找不到
- 无法在Windows上使用CMake链接到Lua 5.3.4:找不到Lua(缺少:LUA_LIBRARIES)(找到版本"5.3.4")
- 找不到旧版本Microsoft模块文件
- ld.so.1:protoc:fatal:libstdc++.so.6:在 Solaris 11 中找不到版本"GLIBCXX_3.4.20"
- 找不到 StrSafe 函数 (StringCbPrintf_lW) 的区域设置感知版本
- CodeBlocks MinGW版本找不到文件,必须手动包含在链接器中
- 如何解析 /usr/lib64/libstdc++.so.6:在我的 CGAL cmake 项目中找不到版本 'GLIBCXX_3.4.15'?
- Netbeans 8.1(适用于 C/C++)找不到我的编译器(gcc-6.0.0 开发版本)
- /usr/bin/ld:只有在库版本很少时才找不到(我认为)
- CMake:找不到提升 1_60_0(找不到版本.hp)
- 将qt版本从5.1.1转换为5.3时,找不到.sys文件
- Qt iOS版本找不到路径为的标头
- 特拉维斯:CMake 似乎松散(找不到)编译器版本
- C : /lib64/libc.so.6:找不到版本"GLIBC_2.11"(C 需要)