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

原文地址:https://www.cnblogs.com/Xiegg/p/3584660.html