服务器(Ubuntu 12.04 LTS)上编译基于OpenCV的项目遇到的问题及解决方案

问题1:OpenCV编译安装时出错,错误信息中提到要打开-fPIC 选项重试。

解决方案:使用如下命令运行CMake

cmake -DWITH_1394=OFF -DWITH_CUDA=OFF -DWITH_EIGEN2=OFF -DWITH_FFMPEG=OFF -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF -DWITH_OPENEXR=OFF -DWITH_PVAPI=OFF -DWITH_QT=OFF -DWITH_TBB=OFF -DWITH_UNICAP=OFF -DWITH_V4L=OFF -DWITH_XINE=OFF -DUSE_IPP=OFF -DOPENCV_BUILD_3RDPARTY_LIBS=ON ..

然后执行make,编译成功,不会报错了。

 

问题2:编译实际项目时,报错#error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=C++11 or -std=gnu++11 compiler options.

解决方案:服务器上gcc版本是4.8.2,而本机上版本是4.8.5,可能服务器上gcc的c++11不是默认打开的状态。遇到这种情况确认gcc支持c++11时可以修改修改CMakeLists.txt,加上一句

SET(CMAKE_CXX_FLAGS "-std=c++11")

 

问题3:编译报错,找不到io.h。

解决方案:查找这个文件

find /usr/include -name "io.h"

发现/usr/include下没有,但是在/usr/include/sys下有,把io.h复制到了/usr/include下,就行了

 

参考文献:

【1】http://stackoverflow.com/questions/7192370/how-to-run-c-library-with-opencv-on-the-other-computer-linux

【2】http://blog.csdn.net/xiat5/article/details/50759490

【3】http://bbs.csdn.net/topics/350097345

posted @ 2017-04-13 13:40  in4ight  阅读(844)  评论(0编辑  收藏  举报