sor*_*h-r 7 linker opencv compiler-errors compilation
我正在尝试按照此处描述的指令在Ubuntu 11.10上编译OpenCV版本2.3.1 .我收到了以下错误.无法理解发生了什么...... /usr/local/lib/libavcodec.a存在但链接器无法链接它或其他东西?
错误:
[ 20%] Built target pch_Generate_opencv_highgui
Linking CXX shared library ../../lib/libopencv_highgui.so
/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: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
问题是,你正试图链接libopencv_highgui.so有libavcodec.a.后者是从没有编译的代码构建的-fPIC(这很常见),并且这些代码无法链接到共享库中x86_64.
你的选择是:
libavcodec.so并安排链接,或libavcodec或-lavcodec从链接线.首先,您很可能只需要安装libavcodec-dev软件包.
如果你做第二个,你仍然需要安排libopencv_highgui.so需要libavcodec在运行时可用的符号.您可以通过将主可执行文件与libavcodec(归档或共享变体)链接来实现.
| 归档时间: |
|
| 查看次数: |
6587 次 |
| 最近记录: |