DLNA库版本为libdlna-0.2.4
执行./configure出错:
------------------------------
Error, can‘t findlibavformat !
--------------------------------------------
查看config.log文件:
----------------------------------------------------------
…
/usr/local/lib/libavformat.a(rtp.o):In function `ff_rtp_get_payload_type‘:
/home/won/Downloads/ffmpeg/libavformat/rtp.c:99:undefined reference to `av_opt_get_int‘
/home/won/Downloads/ffmpeg/libavformat/rtp.c:109:undefined reference to `av_opt_flag_is_set‘
/usr/local/lib/libavformat.a(rtp.o):In function `ff_rtp_codec_id‘:
/home/won/Downloads/ffmpeg/libavformat/rtp.c:148:undefined reference to `av_strcasecmp‘
collect2: ldreturned 1 exit status
Error, can‘t findlibavformat !
------------------------------------
用pkg-config命令查下avformat库使用的共享库的链接CFLAGS:
-------------------------------------------------------------
$pkg-config libavformat --libs
-pthread-L/usr/local/lib -lavformat -lavcodec -lswresample -lavutil -lrt -lm
-------------------------------------------------------------
关于pkg-config命令我也是刚接触,关于它的原理的用法,可以看下pkg-config的用法
修改configure(加上红色部分的这些库):
-------------------------------------------------------------
…
echolog"Checking for libavformat ..."
check_liblibavformat/avformat.h av_register_all -lavformat-pthread -lavformat -lavcodec -lswresample -lavutil -lrt -lm|| die"Error, can‘t find
libavformat !"
echolog"Checking for libavcodec ..."
---------------------------------------------------------------
再执行./configure,问题解决。
执行make的出错信息:
--------------------------------------------------------------
…
gcc test-libdlna.c-W -Wall -Wno-unused-but-set-variable -D_LARGEFILE_SOURCE-D_FILE_OFFSET_BITS=64 -D_REENTRANT -O3 -Isrc -Lsrc -ldlna -lavformat -pthread -lavcodec -lswresample -lavutil
-lrt-lm -o test-libdlna
src/libdlna.so:undefined reference to `av_close_input_file‘
src/libdlna.so:undefined reference to `av_find_stream_info‘
collect2: ldreturned 1 exit status
make: ***[test-libdlna] Error 1
--------------------------------------------------------------
解决方法:undefined
reference to `av_close_input_file‘ 原因分析
DLNA之 Error, can't findlibavformat ! 解决方法