/usr/bin/ld:只有当库的版本很少时才会发生找不到的情况(我想) 我试图在Eclipse中链接OpenCV库,用于C++项目。 当我链接文件夹中有一个实例的库时,它似乎能识别它,但无法识别库中实例较少的情况(可能术语实例不太准确,我不太确定这些不同版本的库的含义)。 因此,这个问题似乎与误用lib或错误路径无关,正如我在其他问题中看到的那样

/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和

这是我在构建项目时得到的:

正如您所看到的,mwvision似乎没有问题,但其他版本有问题,我认为这与目录中存在的多个版本有关(但可能我错了)。
opencv\u coreopencv\u imgprocopencv\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