I would like to use the ffmpeg library so I have video support with my OpenCV 3.0 build. I'm using the excellent step-by-step instructions from the book Practical OpenCV by Samarth Brahmbhatt (http://www.it-ebooks.info/book/3145/) But every time I run make
, the build quits while trying to link libopencv_videoio.so, and throws this error:
Linking CXX shared library ../../lib/libopencv_videoio.so
/usr/bin/ld: /usr/local/lib/libavcodec.a(vc1dsp_mmx.o): relocation R_X86_64_PC32 against symbol `ff_pw_9' can not be used when making a shared object; recompile with -fPIC
First, there was actually some similar error, and I fixed it by recompiling x264 with the additional option --enable-pic
. That was easy.
But I've recompiled ffmpeg a bunch of times, with the options --extra-cflags=-fPIC
, --extra-cxxflags=-fPIC
, --enable-pic
, and nearly every combination of those options. Nothing will make this work.
I don't have any problem following the same steps with OpenCV 2.4.9.
Help!