centos6.5 下安装opencv 3.3.1的时候报错;

clipboard.png

[Scse96016@c0109 build]$ ls
3rdparty              CMakeDoxygenDefaults.cmake  CTestTestfile.cmake  junk                        OpenCVModules.cmake
apps                  CMakeFiles                  custom_hal.hpp       lib                         opencv_tests_config.hpp
bin                   cmake_install.cmake         cvconfig.h           Makefile                    src
build.xml             cmake_uninstall.cmake       cv_cpu_config.h      modules                     test-reports
CMakeCache.txt        CMakeVars.txt               data                 opencv2                     unix-install
CMakeDownloadLog.txt  CPackConfig.cmake           doc                  OpenCVConfig.cmake          version_string.tmp
CMakeDoxyfile.in      CPackSourceConfig.cmake     include              OpenCVConfig-version.cmake
[Scse96016@c0109 build]$ sudo make
[  3%] Built target libtiff
[ 12%] Built target libwebp
[ 15%] Built target libjasper
[ 20%] Built target IlmImf
[ 20%] Built target ittnotify
[ 25%] Built target libprotobuf
[ 25%] Built target opencv_core_pch_dephelp
[ 25%] Built target pch_Generate_opencv_core
[ 25%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/convert.avx2.cpp.o
/tmp/cc0khDpe.s: Assembler messages:
/tmp/cc0khDpe.s:14: Error: suffix or operands invalid for `vbroadcastss'
/tmp/cc0khDpe.s:15: Error: suffix or operands invalid for `vbroadcastss'
/tmp/cc0khDpe.s:27: Error: no such instruction: `vpermq $216,(%rcx),%ymm2'
/tmp/cc0khDpe.s:30: Error: suffix or operands invalid for `vpunpcklwd'
/tmp/cc0khDpe.s:31: Error: suffix or operands invalid for `vpunpckhwd'
/tmp/cc0khDpe.s:32: Error: suffix or operands invalid for `vpsrad'
/tmp/cc0khDpe.s:35: Error: suffix or operands invalid for `vpsrad'
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/convert.avx2.cpp.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

上网查了一下没有找到合适的解决方案,请问是否有人遇到过类似问题呢?

阅读 5.8k
3 个回答

你先排除一下版本的问题

解决了吗?以前编译安装opencv时候从来没有遇到过这种情况,难道是gcc或是g++的问题?
--------------更新-------------------------
果然和猜想的没错,我的解决方式是:
1、升级系统中的软件(不知道是不是可以省去)
2、下载cmake-gui软件
3、使用cmake-gui来生成makefile文件,其中增加两个入口:

![图片描述][1]  
其中:
Name设置可在opencv的源码文件夹下的CMakeList中找到。
如图:
![图片描述][2]
Type选择为FILEPATH
Value设置为你的gcc和g++编译器的路径一般在/usr/bin目录下

4、点击Configure,检查其中的C++ Compiler和C Compiler是否改为了你设置的,如果正确,点击Cenerate生成
5、 命令行进入build目录,直接make -j4就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题