我已經編譯ffmpeg的(1.0)與蠑螈配置:如何獲得ffmpeg鏈接到的庫列表(靜態ffmpeg庫)?
./configure --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-pthreads --disable-everything --enable-muxer=flv --enable-encoder=flv --enable-encoder=h263 --disable-mmx --disable-shared --prefix=bin/ --disable-protocols --disable-network --disable-debug --disable-asm --disable-stripping
它編譯 - 沒有錯誤 - 頭文件和庫(靜態.a
)到位。 (特殊的實驗cigwin,實驗gcc,沒有asm選項,並且沒有被ffmpeg平臺定義)(但我已經編譯並測試了它的提升)
現在我嘗試編譯我的應用程序。我得到下一個例外:
../ffmpeg-1.0/bin/lib/libavcodec.a: error: undefined reference to 'exp'
../ffmpeg-1.0/bin/lib/libavcodec.a: error: undefined reference to 'log'
我的編譯器編譯行如下所示:
g++ -static -emit-swf -o CloudClient.swf -I../boost/boost_libraries/install-dir/include -I../ffmpeg-1.0/bin/include -L../boost/boost_libraries/install-dir/lib -L../ffmpeg-1.0/bin/lib \
timer.o \
audio_encoder.o \
audio_generator.o \
video_encoder.o \
video_generator_rainbow.o \
simple_synchronizer.o \
multiplexer.o \
transmitter.o \
graph_runner.o \
cloud_client.o \
-pthread \
-lswscale \
-lavutil \
-lavformat \
-lavcodec \
-lboost_system \
-lboost_date_time \
-lboost_thread
所以你看相當複雜,我已經編譯的所有目標文件,並準備離開......只有一件事 - 這一切鏈接到FFmpeg的
嘗試添加-lm
(從升壓編譯的ffmpeg版本條紋) - 沒有任何幫助......
那麼這裏我的問題是 - 如何牛逼o獲得鏈接到(如-lm
等)的庫ffmpeg列表?
發現數學庫的位置,並把它添加到庫路徑「-L」和嘗試。 – SparKot
我想你只是把它們放錯了順序。您需要將'-lm'添加到命令行的* end *,而不是開頭。 –