![](/img/trans.png)
[英]Install & Compile ZeroMQ/ZMQ/0MQ on Ubuntu 12.04 32bit
[英]unable to compile ffmpeg bohr on ubuntu 14.04 32bit
我正在開發一個應用程序,以從網絡攝像頭捕獲視頻並將其流式傳輸到Android。 我正在使用ffmpeg最新版本-在Ubuntu 14.04 32位上使用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相關的庫)。
我嘗試了以下方法:
可能是什么問題呢? 為什么鏈接器指向i686,然后再返回i386?
那么您需要將-llzma放在ffmpeg的編譯行中。
或者我可以通過一種更簡單的方法來替代它。 試試這個: http : //ubuntuforums.org/showthread.php?t=2219550&p=13101922#post13101922
這將很簡單..
您實際上只是在這里缺少其他庫。 只需在編譯行的末尾添加-llzma即可。
我還必須添加其他缺少的庫。 只是追加,以防您遇到相同的問題:
-lswresample -lm -lz
這是因為libavcodec包含一些math和zlib標頭,因此您還必須鏈接到相應的庫。 lzma也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.