x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
2014-02-24 10:39
537 查看
原:http://blog.csdn.net/bg2bkk/article/details/9048465
吭吃坑吃的编译安装完ffmpeg 0.75,在centos5.9上后,遇到了一些问题,都是十分常见的问题,希望对大家有用。
问题一
/usr/local/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_c(int64_t)’:
/usr/local/include/libavutil/common.h:170: error: ‘UINT64_C’ was not declared in this scope
这个问题可以这么解决
编辑文件 gedit /usr/local/include/libavutil/common.h
添加如下代码可以解决。
//add by bg2bkk
#ifndef UINT64_C
#define UINT64_C(value) __CONCAT(value, ULL)
#endif
//add by bg2bkk
问题二
./ffmpeg_test: error while loading shared libraries: libavcodec.so.52: cannot open shared object file: No such file or directory
这个问题的原因在于没有把ffmpeg的lib放到ld.conf里,参考链接:http://forum.ivorde.ro/ffmpeg-error-while-loading-shared-libraries-libavdevice-so-52-cannot-open-shared-object-file-no-t129.html
这个thread不错,有很多有用的命令:
ldd `which ffmpeg` 查看ffmpeg的库是否可以找到
这时一般会打印为:
linux-gate.so.1 => (0x00f90000)
libavdevice.so.52 => not found
libavfilter.so.1 => not found
libavformat.so.52 => not found
libavcodec.so.52 => not found
libpostproc.so.51 => not found
libswscale.so.0 => not found
libavutil.so.50 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x00821000)
libm.so.6 => /lib/libm.so.6 (0x007da000)
libc.so.6 => /lib/libc.so.6 (0x0067b000)
/lib/ld-linux.so.2 (0x0065c000)
而命令find /usr/local/lib/ | grep -E "libavdevice.so.52|libavfilter.so.1|libavcodec.so.52|libavcore.so.0"
通常会打印输出
/usr/local/lib/libavdevice.so.52.5.0
/usr/local/lib/libavfilter.so.1
/usr/local/lib/libavdevice.so.52
/usr/local/lib/libavfilter.so.1.80.0
/usr/local/lib/libavcodec.so.52.123.0
/usr/local/lib/libavcodec.so.52
说明你有这些库,只是没有识别。当然,路径/usr/local/lib 和/usr/local/include主要是因为ffmpeg的安装前缀是/usr/lcoal,好像用户安装linux的软件默认都是这里。
修改文件sudo vim /etc/ld.so.conf
在文件里添加
/usr/local/lib
这句
然后保存退出。
sudo ldconfig
这样就可以找到这些库了。
问题三
./ffmpeg_test: error while loading shared libraries: /usr/local/lib/libswscale.so.0: cannot restore segment prot after reloc: Permission denied
这个问题属于
参考链接为http://www.cnblogs.com/huangpeng/archive/2009/02/18/1393348.html
关闭selinux即可
sudo /usr/sbin/setenforce 0
吭吃坑吃的编译安装完ffmpeg 0.75,在centos5.9上后,遇到了一些问题,都是十分常见的问题,希望对大家有用。
问题一
/usr/local/include/libavutil/common.h: In function ‘int32_t av_clipl_int32_c(int64_t)’:
/usr/local/include/libavutil/common.h:170: error: ‘UINT64_C’ was not declared in this scope
这个问题可以这么解决
编辑文件 gedit /usr/local/include/libavutil/common.h
添加如下代码可以解决。
//add by bg2bkk
#ifndef UINT64_C
#define UINT64_C(value) __CONCAT(value, ULL)
#endif
//add by bg2bkk
问题二
./ffmpeg_test: error while loading shared libraries: libavcodec.so.52: cannot open shared object file: No such file or directory
这个问题的原因在于没有把ffmpeg的lib放到ld.conf里,参考链接:http://forum.ivorde.ro/ffmpeg-error-while-loading-shared-libraries-libavdevice-so-52-cannot-open-shared-object-file-no-t129.html
这个thread不错,有很多有用的命令:
ldd `which ffmpeg` 查看ffmpeg的库是否可以找到
这时一般会打印为:
linux-gate.so.1 => (0x00f90000)
libavdevice.so.52 => not found
libavfilter.so.1 => not found
libavformat.so.52 => not found
libavcodec.so.52 => not found
libpostproc.so.51 => not found
libswscale.so.0 => not found
libavutil.so.50 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x00821000)
libm.so.6 => /lib/libm.so.6 (0x007da000)
libc.so.6 => /lib/libc.so.6 (0x0067b000)
/lib/ld-linux.so.2 (0x0065c000)
而命令find /usr/local/lib/ | grep -E "libavdevice.so.52|libavfilter.so.1|libavcodec.so.52|libavcore.so.0"
通常会打印输出
/usr/local/lib/libavdevice.so.52.5.0
/usr/local/lib/libavfilter.so.1
/usr/local/lib/libavdevice.so.52
/usr/local/lib/libavfilter.so.1.80.0
/usr/local/lib/libavcodec.so.52.123.0
/usr/local/lib/libavcodec.so.52
说明你有这些库,只是没有识别。当然,路径/usr/local/lib 和/usr/local/include主要是因为ffmpeg的安装前缀是/usr/lcoal,好像用户安装linux的软件默认都是这里。
修改文件sudo vim /etc/ld.so.conf
在文件里添加
/usr/local/lib
这句
然后保存退出。
sudo ldconfig
这样就可以找到这些库了。
问题三
./ffmpeg_test: error while loading shared libraries: /usr/local/lib/libswscale.so.0: cannot restore segment prot after reloc: Permission denied
这个问题属于
动态链接库加载出错:cannot restore segment prot after reloc: Permission denied
参考链接为http://www.cnblogs.com/huangpeng/archive/2009/02/18/1393348.html关闭selinux即可
sudo /usr/sbin/setenforce 0
相关文章推荐
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- x264和FFMPEG 编译后遇到的一些问题:UINT64_C,
- 在windows下编译ffmpeg中遇到的一些问题
- wince+ffmpeg+sdl遇到的一些问题
- NDK r12b下编译安卓FFmpeg arm64架构出现的奇葩问题
- VS2010下使用STLport编译boost时遇到的一些问题
- USB驱动编译遇到的一些问题
- (补充)点云压缩入门(一):pcc工程的编译所遇到的一些问题
- 集群上编译caffe时遇到的一些问题
- 关于SBA(Sparse Bundle Adjustment)编译以及遇到的一些问题
- winGW下编译ffmpeg遇到的问题(转载)
- Android程序的反编译和防止反编译,以及操作过程中遇到的一些问题
- 【android NDK及JNI】ubuntu12.10 64位 + android-ndk-r9 编译ffmpeg遇到的问题 .
- LDD3在Ubuntu下编译 scull例子时遇到的一些问题
- vs2010配置FFMPEG SDK并编译output_example.c遇到的问题
- 在用VS和Intel C++ Complier编译下面两个移植到Windows下的FFmpeg时遇到的问题
- Ubuntu14.04编译OpenJDK8遇到的一些问题
- 编译Cocos2D-x权威指南 喵星战争遇到的一些问题
- android 编译好ffmpeg 3.0+ 后再jni中使用遇到的问题