windows下编译gstreamer1.16.1
windows下编译gstreamer1.16.1
windows下编译gstreamer1.16.1
先说明没有编译通过,但是还是学到了很多东西,现在记录⼀下,也希望通过我的⼀点努⼒可以屏幕前的你节省更多的时间,做更多有意义的事,为中华编程多节省些⼈⼒。
⼏个常备地址
glib 源码地址
gtk相关gstreamer中的glib来源在这⾥
gstreamer ⼯程地址
vcpkg微软的⼀个包管理器 下载⾃动编译⼀些开源好⽤的linux三⽅库的东西,看着不错;
直接下载已编译好的库
gstreamer已编译的msvc版本
个最新的下载,⽬前是1.16.1不知道为什么只提供64位版本的下载
编译Glib
下⾯来在windows上编译,gstreamer依赖于glib库,所以想到的⾸先编译glib的库
⽅法1:
使⽤vcpkg直接下载安装,这个是微软项⽬组维护的项⽬,下载下来在powershell中执⾏bootstrap-vcpkg.bat其他的看readme⽂档吧 官⽅说明⽂档
#执⾏此命令后会⾃动编译出具体怎么实现的我也没有细看;
bootstrap-vcpkg.bat
#下载源码并编译安装
< install glib
⽅法2:
⽬前没有测试通过,就是下载源码⾃⼰编译了,具体没有尝试,对了上⾯第⼀种⽅法也是glib的⽂档中推荐的⼀种;
编译gstreamer1.16.1
接下来编译gstreamer了,gstreamer编译现在放在了⼀个项⽬中
这个项⽬主要是指导⽤户怎么实现多平台编译,具体的⽂档⾃⼰看;我的编译说明下;
这个项⽬使⽤了python3.5+作为配置脚本,所以要安装python3;mingw(注意不是ming-w64)因为内部要使⽤mingw-get下载依赖包;还有些其他的⼯具如打包⼯具什么的⾃⾏看下官⽅⽂档吧,然后进⼊⽬录执⾏
python3 ./cerbero-uninstalled -v visualstudio -c config/win32.cbc bootstrap
注意我使⽤的1.16.1版本这样编译不过提⽰不到vs;查源码得知需设置环境变量,代码⽚段如下;
cerbero-1.16.1\cerbero\ide\vs\env.py
def get_program_files_dir():
if 'PROGRAMFILESX86' viron:
# Windows 64-bit
return viron['PROGRAMFILESX86'])
elif 'PROGRAMFILES' viron:
# Windows 32-bit
return viron['PROGRAMFILES'])
raise FatalError('Could not find path to 32-bit Program Files directory')
这个是我修改后的,主要是指明vs的安装根⽬录;
windows shell
set PROGRAMFILESX86=D:\Program Files (x86)
mingw shell
export PROGRAMFILESX86="D:\Program Files (x86)"
具体环境变量和我现在写的不⼀样,具体情况具体处理吧;之后就可以编译了,虽说我的编译出错了说是不到libtool;MGOD 不知道这些项⽬在⼲什么,看⽇志cerbero 下载了整套的gcc编译链,为什么编译不过不得⽽知;
反思:
为什么使⽤gstreamer
gstreamer的结构性⽐较好,有强⼤的框架⽀撑,减少代码写作投⼊成本,另外内置dbus消息系统,⽅便开发;
为什么不⽤gstreamer
bootstrap项目gstreamer内置的dbus不好移植(⽬前已经在vs2015上编译通过),另外gstreamer项⽬依赖了太多的GLP项⽬,这些项⽬⼜依赖太多的其它linux开源项⽬,内部编译太过复杂,需要熟悉每个库的使⽤和内部原理,强度⽐较⼤,不然很难保证商⽤级产品的发布;
由于依赖过于复杂不难配置发布时有太多⽆⽤的依赖,对发布周期要求较⾼;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。