2017-06-16 18 views
0

別の共有ライブラリをリンクするときにビルドの途中で同じエラーが最初に発生しました。それではBUILD_SHARED_LIBS = OFFを追加しましたので、最後に表示されます。最後の2つのオプションも、それを修正するために追加されました。 LinuxMint 17を使用してOpenCVリンクエラー

[ 99%] Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/deblurring.cpp.o 
[ 99%] Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/motion_stabilizing.cpp.o 
Linking CXX static library ../../lib/libopencv_videostab.a 
[ 99%] Built target opencv_videostab 
[ 99%] Generating pyopencv_generated_include.h, pyopencv_generated_funcs.h, pyopencv_generated_types.h, pyopencv_generated_type_reg.h, pyopencv_generated_ns_reg.h 
Scanning dependencies of target opencv_python2 
[ 99%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o 
Linking CXX shared module ../../lib/cv2.so 
/usr/bin/ld: //usr/local/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `ff_a64_muxer' can not be used when making a shared object; recompile with -fPIC 
//usr/local/lib/libavformat.a: error adding symbols: Bad value 
collect2: error: ld returned 1 exit status 
make[2]: *** [lib/cv2.so] Error 1 
make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2 
make: *** [all] Error 2 

コマンド:

cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
-D CMAKE_INSTALL_PREFIX=/usr/local \ 
-D INSTALL_PYTHON_EXAMPLES=OFF \ 
-D INSTALL_C_EXAMPLES=OFF \ 
-D PYTHON_EXECUTABLE=/home/serj/work/beautytorch/venv/bin/python \ 
-D BUILD_EXAMPLES=OFF \ 
-D BUILD_SHARED_LIBS=OFF \ 
-D CMAKE_CXX_FLAGS=-fPIC \ 
-D WITH_IPP=OFF \ 
.. 
+0

なぜ '-D CMAKE_CXX_FLAGS = -fPIC'ですか? – ZdaR

+0

エラーメッセージで「-fPICを使用して再コンパイルする」ために正しいかどうかわからない – VladimirLenin

答えて

0

それは-fPICしてコンパイルされている必要がありffmpegです。 enter link description here私はffmpegをソースからコンパイルしました。アンインストール後、opencvは正常にリンクします。