我正在尝试在Python虚拟环境中构建OpenCV,因为有些代码使用Python 2.7并且想要OpenCV 3.1.0,这不一定是系统具有/需要的配置。因此,我认为在虚拟环境中部署自定义OpenCV的一点安装脚本会很好。
这是我的CMAKE例程(为了便于阅读而缩进):
cmake -D BUILD_TIFF=ON
-D BUILD_opencv_java=OFF
-D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=${env_path/local}
-D PYTHON_EXECUTABLE=${env_path}/bin/python
-D PYTHON_INCLUDE_DIR=${env_path}/include/python2.7
-D PYTHON_PACKAGES_PATH=${env_path}/lib/python2.7/site-packages
-D INSTALL_PYTHON_EXAMPLES=ON
${opencv_source_dir}
${env_path}
是虚拟环境的路径,${opencv_source_dir}
是(解压缩的)OpenCV源文件的路径。
当我的剧本击中实际建筑时:
make -j4
make install
我总是最终得到这个错误:
/usr/include/c++/6.1.1/cstdlib:75:25: (...) stdlib.h: (...) not found
#include_next <stdlib.h>
^
但是,文件实际上是:
sudo find / -type f -name "*stdlib.h"
返回:
/usr/include/stdlib.h
/usr/include/bits/stdlib.h
/usr/include/bsd/stdlib.h
/usr/include/freetype2/freetype/config/ftstdlib.h
/usr/include/c++/6.1.1/stdlib.h
/usr/include/c++/6.1.1/tr1/stdlib.h
我通过Google找到的唯一链接(GCC Bugzilla – Bug 70129)并没有真正起作用?!
有没有人遇到同样的错误?
如何强制CMAKE使用gcc / g ++ 5而不是6? (我发现一些链接无法回答为什么会发生这种错误...但他们建议使用gcc / g ++ 5进行编译,因为那里不会出现错误)