Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/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
链接CXX共享库.././lib/libopencv_highgui.so/lib/libbz2.so.1时发生OpenCV编译错误:无法读取错误格式的符号:文件_Opencv_Cmake - Fatal编程技术网

链接CXX共享库.././lib/libopencv_highgui.so/lib/libbz2.so.1时发生OpenCV编译错误:无法读取错误格式的符号:文件

链接CXX共享库.././lib/libopencv_highgui.so/lib/libbz2.so.1时发生OpenCV编译错误:无法读取错误格式的符号:文件,opencv,cmake,Opencv,Cmake,我正在尝试在CentOS 6.4上安装OpenCV-2.4.9。机器。 我在~/Downloads/opencv-2.4.9中下载了源代码。 从那里开始,我建造了mkdir;“cd构建”。然后呢 cmake-D cmake\u BUILD\u TYPE=RELEASE-D cmake\u INSTALL\u PREFIX=/usr/local-D WITH\u TBB=ON-D BUILD\u NEW\u PYTHON\u SUPPORT=ON-D WITH\u V4L=ON-D INSTALL

我正在尝试在CentOS 6.4上安装OpenCV-2.4.9。机器。
我在~/Downloads/opencv-2.4.9中下载了源代码。
从那里开始,我建造了mkdir;“cd构建”。然后呢

cmake-D cmake\u BUILD\u TYPE=RELEASE-D cmake\u INSTALL\u PREFIX=/usr/local-D WITH\u TBB=ON-D BUILD\u NEW\u PYTHON\u SUPPORT=ON-D WITH\u V4L=ON-D INSTALL\u C\u EXAMPLES=ON-D WITH\u QT=ON-D WITH\u OPENGL=ON--启用共享..

并且做了“make-j2”。
下面是我收到的消息(这是使用“make”重新运行的结果)


我做了一些搜索,但没有找到好的答案。有谁能告诉我出了什么问题吗?

我也遇到了同样的问题,我的解决方案是删除所有构建文件(或CMakeCache.txt)并再次执行cmake

问题是cmake找到的是32位库,而不是64位库,64位库应该在/lib64/libbz2.so或/usr/lib64/libbz2.so中找到。
有时cmake会搞砸,并继续使用缓存的变量。因此,如果再次删除缓存和cmake,它应该会找到正确的库。

我也遇到了同样的问题,我的解决方案是再次删除所有构建文件(或CMakeCache.txt)和cmake

问题是cmake找到的是32位库,而不是64位库,64位库应该在/lib64/libbz2.so或/usr/lib64/libbz2.so中找到。
有时cmake会搞砸,并继续使用缓存的变量。因此,如果您删除缓存并再次制作,它应该会找到正确的库。

Weipeng,谢谢。在我的帖子之后,我注意到了这个lib64和lib问题,并通过了libbz2问题(通过更改$LD_LIBRARY_路径,使/usr/lib64位于/usr/lib之前)。昨天我尝试这个问题几天后,我遇到了另一个问题。新船长来了:修改
LD#u LIBRARY_PATH
对我不起作用,但是
sed-i的#/lib/libbz2.so.1#/lib64/libbz2.so.1#g'cmakache.txt
对我起了作用。@w177us你的解决方案在Fedora 21上也对我起了作用。谢谢@w177us您与sed的解决方案在centos 7上也对我有效。谢谢伟鹏,谢谢。在我的帖子之后,我注意到了这个lib64和lib问题,并通过了libbz2问题(通过更改$LD_LIBRARY_路径,使/usr/lib64位于/usr/lib之前)。昨天我尝试这个问题几天后,我遇到了另一个问题。新船长来了:修改
LD#u LIBRARY_PATH
对我不起作用,但是
sed-i的#/lib/libbz2.so.1#/lib64/libbz2.so.1#g'cmakache.txt
对我起了作用。@w177us你的解决方案在Fedora 21上也对我起了作用。谢谢@w177us您与sed的解决方案在centos 7上也对我有效。谢谢
[  3%] Built target libtiff
[  4%] Built target opencv_core_pch_dephelp
[  4%] Built target pch_Generate_opencv_core
[  6%] Built target opencv_core
[  6%] Built target opencv_ts_pch_dephelp
[  6%] Built target pch_Generate_opencv_ts
[  6%] Built target opencv_imgproc_pch_dephelp
[  7%] Built target pch_Generate_opencv_imgproc
[ 11%] Built target opencv_imgproc
[ 11%] Built target opencv_flann_pch_dephelp
[ 11%] Built target pch_Generate_opencv_flann
[ 12%] Built target opencv_flann
[ 12%] Built target opencv_highgui_pch_dephelp
[ 12%] Built target pch_Generate_opencv_highgui
Linking CXX shared library ../../lib/libopencv_highgui.so
/lib/libbz2.so.1: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.2.4.9] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2