/usr/bin/ld:只有当库的版本很少时才会发生找不到的情况(我想) 我试图在Eclipse中链接OpenCV库,用于C++项目。 当我链接文件夹中有一个实例的库时,它似乎能识别它,但无法识别库中实例较少的情况(可能术语实例不太准确,我不太确定这些不同版本的库的含义)。 因此,这个问题似乎与误用lib或错误路径无关,正如我在其他问题中看到的那样
这是我在构建项目时得到的: 正如您所看到的,mwvision似乎没有问题,但其他版本有问题,我认为这与目录中存在的多个版本有关(但可能我错了)。/usr/bin/ld:只有当库的版本很少时才会发生找不到的情况(我想) 我试图在Eclipse中链接OpenCV库,用于C++项目。 当我链接文件夹中有一个实例的库时,它似乎能识别它,但无法识别库中实例较少的情况(可能术语实例不太准确,我不太确定这些不同版本的库的含义)。 因此,这个问题似乎与误用lib或错误路径无关,正如我在其他问题中看到的那样,c++,opencv,linker,C++,Opencv,Linker,这是我在构建项目时得到的: 正如您所看到的,mwvision似乎没有问题,但其他版本有问题,我认为这与目录中存在的多个版本有关(但可能我错了)。 opencv\u core、opencv\u imgproc和opencv\u highgui都有.so.2.4和.so.2.4.2版本 不幸的是,这两个链接没有提供答案: 我还要提到,我在Matlab中没有任何用处,我就是在这里找到opencv库的 opencv_内核、opencv_imgproc和opencv_highgui都有.so.2.4和
opencv\u core、opencv\u imgproc和opencv\u highgui都有.so.2.4和.so.2.4.2版本 不幸的是,这两个链接没有提供答案:
我还要提到,我在Matlab中没有任何用处,我就是在这里找到opencv库的 opencv_内核、opencv_imgproc和opencv_highgui都有.so.2.4和.so.2.4.2版本 如果您阅读了的此说明,您将了解
.so.2.4
是库的运行时名称,而不是其链接时间名称
为了链接,您需要.so
(不带版本后缀)
拥有
.so.2.4
而不是。因此
通常发生在安装了libopencv core
软件包,但没有安装libopencv core dev
时。解决方案是安装后者。目录/usr/local/Matlab/2013b/bin/glnxa64
中是否有所有这些的lib.a
文件?您可能需要添加另一个-L
选项,指定opencv库的实际放置位置。不,仅此而已。我看到的也是这样。“您的opencv库实际放置的位置”是什么意思?要进行链接,您需要存根libopencv\u core.a
,libopencv\u imgproc.a
,等等。locate命令只能找到.so库。有没有其他的搜索方法?你是从哪里得到标题的?
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