libdash编译中遇到的问题及解决方案
编译环境 ubuntu 13.04,已经编译过ffmpeg,opencv
1.error找不到usleep,未定义
usleep好像是linux下的进程的 sleep函数
在/libdash/qtsampleplayer/libdashframework/portable/中的MultiThreading.h中添加 unistd.h
2.astThreadedCreation.o: undefined reference to symbol 'pthread_create@@GLIBC_2.1' /usr/bin/ld: note: 'pthread_create@@GLIBC_2.1' is defined in DSO /lib/i386-linux-gnu/libpthread.so.0 so try adding it to the linker command line /lib/i386-linux-gnu/libpthread.so.0: could not read symbols: Invalid operation
找不到pthread_create的引用,不是一个有效的符号
解决办法。在cmakelist.txt中添加链接库, target_link_libraries(qtsampleplayer ${LINK_LIBRARIES} pthread z) pthread和z 为链接库,qtsampleplayer为build的可执行文件吧
3.> /usr/local/lib/libavcodec.a(utils.o): In function `recode_subtitle': > /home/lmy/Downloads/ffmpeg-1.2/libavcodec/utils.c:1906: undefined > reference to `libiconv_open' > /home/lmy/Downloads/ffmpeg-1.2/libavcodec/utils.c:1945: undefined > reference to `libiconv_close' > /home/lmy/Downloads/ffmpeg-1.2/libavcodec/utils.c:1931: undefined > reference to `libiconv' > /home/lmy/Downloads/ffmpeg-1.2/libavcodec/utils.c:1932: undefined > reference to `libiconv' > /usr/local/lib/libavformat.a(matroskaenc.o): In function > `get_aac_sample_rates': > /home/lmy/Downloads/ffmpeg-1.2/libavformat/matroskaenc.c:460: undefined > reference to `avpriv_mpeg4audio_get_config' > /usr/local/lib/libavformat.a(matroskaenc.o): In function > `put_xiph_codecpriv': > /home/lmy/Downloads/ffmpeg-1.2/libavformat/matroskaenc.c:440: undefined > reference to `avpriv_split_xiph_headers' > /usr/local/lib/libavformat.a(allformats.o): In function `av_register_all': > /home/lmy/Downloads/ffmpeg-1.2/libavformat/allformats.c:60: undefined
说是由ffmpeg的不同版本引起的,见http://vicky.bitmovin.net/pipermail/libdash-dev/2013-April/000082.html
暂时没有找到合适的解决办法,如果你有请联系我或下博客下方留言
nevermore at bupt.edu.cn