我正在开发一个应用程序来从网络摄像头捕获视频并将其流式传输到 Android。我在 Ubuntu 14.04 32 位上使用 ffmpeg 最新版本 - 2.5.2 "Bohr" 并使用 Eclipse 作为 IDE。
编译时收到此错误:
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?