这是我得到的错误:
/ usr / bin / ld:/usr/local/lib/libavcodec.a(avpacket.o):在创建共享对象时,不能使用针对`av_destruct_packet'的重定位R_X86_64_32S;用-fPIC重新编译 /usr/local/lib/libavcodec.a:无法读取符号:值不正确 collect2:ld返回1退出状态 make [2]: * [lib / libopencv_highgui.so.2.3.1]错误1 make [1]:* [modules / highgui / CMakeFiles / opencv_highgui.dir / all]错误2 make: * [all]错误2
有人遇到过这样的错误吗?我该如何解决?
答案 0 :(得分:2)
您遇到FFMPEG问题。您需要使用--enable-shared选项重新编译它。那可能会为你做这笔交易。
答案 1 :(得分:1)
我几天前在Ubuntu 11.10上安装了OpenCV 2.3.1。你所要做的就是从http://www.ozbotz.org/opencv-installation/祝你好运!
答案 2 :(得分:1)
看起来您使用的是旧版本的ffmpeg。你应该使用ffmpeg 0.8+。 Here是ubuntu 12.04的指南,也适用于11.10
答案 3 :(得分:1)
这是我遵循的同一个教程 - 然而它对12.04并不好,因为你最终覆盖了一些库和(在我的新手案例中)重新安装所有 sudo apt-get来到救援 - 但是你还要看看如何链接和使用库:$ g++ -o hello_world hello-world.cpp
pkg-config opencv --cflags --libs
(使用后引号)如果你想要编译任何东西。
btw - 有关opencv2(安装和使用)的最佳教程:http://opencv.itseez.com/doc/tutorials/tutorials.html