ubuntu ffmpeg+sdl编译安装过程记录
2016-06-28 17:25
525 查看
在ubuntu上的整个编译过程其实就是标准的./configure &&make &&sudo make install
几个问题记录下:
1.如果系统没有装SDL1.x版本的话,默认是不会编译出ffpaly命令的。因为ffmpeg的音视频显示依赖SDL库,且必须是1.x版本的SDL。
2.
运行ffplay时,有些机器上会出现
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)
说明系统中没有安装x11的库文件,因此编译出来的SDL库实际上不能用。
下载安装
重新编译sdl
再次进入sdl源代码目录重新编译,make clean,./configure,make,make install
3.安装SDL的时候出现
/src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for _XData32?
SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
^
./src/video/x11/SDL_x11dyn.c:95:5: note: in definition of macro 釹DL_X11_SYM?
rc fn params { ret p##fn args ; }
查阅了一些资料,发现是libx11-dev版本问题(查看版本如图),版本>1.5.99,所以需要修改src/video/x11/SDL_x11sym.h 文件,按照提示修改168行,
修改如下:
原来是:SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
改后添加一个单词即可:(_Xconst)
SDL_X11_SYM(int,_XData32,(Display *dpy,register_Xconst long *data,unsigned len),(dpy,data,len),return)
再make 和 sudo make install就可以了。
几个问题记录下:
1.如果系统没有装SDL1.x版本的话,默认是不会编译出ffpaly命令的。因为ffmpeg的音视频显示依赖SDL库,且必须是1.x版本的SDL。
2.
运行ffplay时,有些机器上会出现
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)
说明系统中没有安装x11的库文件,因此编译出来的SDL库实际上不能用。
下载安装
sudo apt-get install libx11-dev sudo apt-get install xorg-dev
重新编译sdl
再次进入sdl源代码目录重新编译,make clean,./configure,make,make install
3.安装SDL的时候出现
/src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for _XData32?
SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
^
./src/video/x11/SDL_x11dyn.c:95:5: note: in definition of macro 釹DL_X11_SYM?
rc fn params { ret p##fn args ; }
查阅了一些资料,发现是libx11-dev版本问题(查看版本如图),版本>1.5.99,所以需要修改src/video/x11/SDL_x11sym.h 文件,按照提示修改168行,
修改如下:
原来是:SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
改后添加一个单词即可:(_Xconst)
SDL_X11_SYM(int,_XData32,(Display *dpy,register_Xconst long *data,unsigned len),(dpy,data,len),return)
再make 和 sudo make install就可以了。
相关文章推荐
- 对缓存的思考——提高命中率
- AndroidStudio 的配置Git的使用
- CDISC SDTM IS domain学习笔记
- LinearLayout布局实现垂直水平居中
- Oracle 删表前验证表名是否存在并且删除
- 235. Lowest Common Ancestor of a Binary Search Tree
- 【报错】HibernateException:hibernate.cfg.xml not found
- OWA默认的登录时区和语言设置
- HDU 5333 Undirected Graph
- IOS项目硬件调用前的权限判断
- JavaWeb文件上传下载功能示例解析
- Codeforces Round #357 (Div. 2)
- 互联网时代程序员如何避免知识半衰期?
- [改善Java代码]警惕泛型是不能协变和逆变的
- ios学习资料
- 文档流转,文档操作,文档归档(一)
- SSH项目整合
- NGUI实现背包系统
- Hive与JDBC示例
- The Little Redis Book