ウェブカメラからビデオをキャプチャして Android にストリーミングするアプリケーションを開発しています。私は ffmpeg の最新リリース - Ubuntu 14.04 32 ビットで 2.5.2 "Bohr" を使用し、IDE として Eclipse を使用しています。
コンパイル時に次のエラーが表示されます。
g++ -L/usr/local/lib -L/home/idanhahn/ffmpeg/ffmpeg_build/lib -o "camera" ./src/.metadata/.plugins/org.eclipse.cdt.make.core/specs.o ./src/CameraSec.o ./src/camera.o ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.o -lz -lswscale -lopencv_core -lavcodec -lavutil -lpthread -lboost_thread -lboost_system -lboost_date_time -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann -lavformat
/usr/bin/ld: /home/idanhahn/ffmpeg/ffmpeg_build/lib/libavformat.a(http.o): undefined reference to symbol 'inflateInit2_'
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
avformat (およびその他の ffmpeg 関連のライブラリ) をリンクしました。
私は次のことを試しました:
- リンクされた libz。
- ここからの指示を使用して再コンパイルを試みました: http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
何が問題なのですか?リンカーが i686 を指し、その後 i386 に戻るのはなぜですか?