Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cmake build opencv程序:加载共享库时出错:libopencv_imgproc.so.4.2:无法打开共享对象文件:没有此类文件或目录 我正在编译我的C++程序,使用OpenCV,这里是我的代码: #include <iostream> #include "opencv2/opencv.hpp" using namespace std; using namespace cv; int main() { cout << "Hello world!\n"; Mat image = cv::imread(R"(1596254171-image.jpg)"); return 0; }_C++_Opencv_Cmake - Fatal编程技术网

cmake build opencv程序:加载共享库时出错:libopencv_imgproc.so.4.2:无法打开共享对象文件:没有此类文件或目录 我正在编译我的C++程序,使用OpenCV,这里是我的代码: #include <iostream> #include "opencv2/opencv.hpp" using namespace std; using namespace cv; int main() { cout << "Hello world!\n"; Mat image = cv::imread(R"(1596254171-image.jpg)"); return 0; }

cmake build opencv程序:加载共享库时出错:libopencv_imgproc.so.4.2:无法打开共享对象文件:没有此类文件或目录 我正在编译我的C++程序,使用OpenCV,这里是我的代码: #include <iostream> #include "opencv2/opencv.hpp" using namespace std; using namespace cv; int main() { cout << "Hello world!\n"; Mat image = cv::imread(R"(1596254171-image.jpg)"); return 0; },c++,opencv,cmake,C++,Opencv,Cmake,编译操作一切正常,但当我执行我的测试床时,我得到了错误: error while loading shared libraries: libopencv_imgproc.so.4.2: cannot open shared object file: No such file or directory 我想知道为什么我已经指定了链接路径,但是链接器仍然找不到imgproc库,为什么可以找到core.so,但是imgproc.so没有?“我已经指定了链接路径,但是链接器仍然找不到imgproc库”

编译操作一切正常,但当我执行我的测试床时,我得到了错误:

error while loading shared libraries: libopencv_imgproc.so.4.2: cannot open shared object file: No such file or directory

我想知道为什么我已经指定了链接路径,但是链接器仍然找不到imgproc库,为什么可以找到core.so,但是imgproc.so没有?

“我已经指定了链接路径,但是链接器仍然找不到imgproc库”-错误是由加载程序发出的,而不是由链接器发出的。CMake以某种方式为您的可执行文件设置RPATH,因此每个需要的库都可以由可执行文件加载。但完全填充库间依赖关系是您的任务。对您使用的每个OpenCV库运行
ldd
,并检查它是否找到所有依赖库。另请参见以下问题:。感谢您的帮助。我发现imgcodecs需要imgproc,但我如何指定“imgcodecs在哪里搜索imgproc”?通常,Linux上的共享库以RPATH的形式包含指向所有所需库的路径。您的OpenCV库可能有这些设置,但似乎您已经移动了这些库,所以RPATH不再指向它们。您可以使用适当的RPATH修补库。对此,请参见以下问题:。或者,将带有库的目录添加到
LD\u LIBRARY\u PATH
环境变量:。
error while loading shared libraries: libopencv_imgproc.so.4.2: cannot open shared object file: No such file or directory