【发布时间】:2015-10-02 03:51:15
【问题描述】:
我正在尝试安装带有 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 重新编译”?
-
我不明白如何在 cmake 构建系统中使用 -fPIC。
-
@upr 您找到解决此错误的方法了吗?我也遇到同样的错误
-
你们有没有找到解决办法?