服务器(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下,就行了
参考文献: