【问题标题】:Installing OpenCV 3.0.0-dev, issue with configuration options安装 OpenCV 3.0.0-dev,配置选项问题
【发布时间】:2014-04-11 02:46:17
【问题描述】:

我知道 OpenCV 3.0 还不是发布版本。我正在尝试为我们正在构建的原型系统评估 3.0 版本中的一些功能。我从 git 存储库中克隆了最新的源代码,并使用以下 cmake 构建库:

cmake -D BUILD_SHARED_LIBS=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

但是,当我进行 make 构建库时,我遇到了这个问题:

/usr/bin/ld: /usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S against `av_destruct_packet' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.3.0.0] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

我不太确定在 CMakeLists.txt 中的何处设置 -fPIC 标志。需要注意的是,我的机器上已经构建并运行了 OpenCV 2.4.8 库。感谢您花时间帮助我!

【问题讨论】:

标签: opencv build compilation shared-libraries static-libraries


【解决方案1】:

感谢您的回答。我设法通过删除现有的 OpenCV 安装来安装 OpenCV 3.0.0-dev 版本。虽然这不是必需的,但我删除了我以前的 2.4.8 库文件并设法编译它。 CCMake 帮助简化了安装决策。使用它来决定在运行 make 之前要编译哪些库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-06
    • 2015-02-10
    • 1970-01-01
    • 2011-11-22
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    相关资源
    最近更新 更多