用python支持编译opencv出错



我正在尝试安装具有python支持的opencv,并且我面临一个我无法帮助的问题。

当我用cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..配置项目时,它配置并说python支持存在。

--   Python:
--     Interpreter:                 /usr/local/bin/python2 (ver 2.7.10)
--     Libraries:                   /usr/local/lib/libpython2.7.a (ver 2.7.10)
--     numpy:                       /usr/local/lib/python2.7/site-packages/numpy/core/include (ver 1.9.2)
--     packages path:               lib/python2.7/site-packages

当我尝试make时,它在

处失败了
[ 75%] Built target opencv_test_contrib
Linking CXX shared library ../../lib/cv2.so
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/cv2.so] Error 1
make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error 2
make: *** [all] Error 2

在没有python支持的情况下,它可以很好地构建。

我不明白这个错误意味着什么/如何解决这个问题,因为我没有太多的经验与cmake。任何帮助调试这是感激的。

如错误提示所示,您需要使用"-fPIC"标志重新编译。一些研究提出了简单的解决办法。添加命令-D CMAKE_C_FLAGS=-fPIC,使整个命令为cmake -D CMAKE_C_FLAGS=-fPIC -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..

请让互联网上的其他人知道这是否有效。

相关内容

  • 没有找到相关文章

最新更新