利用Cmake 将最新版本OBS编译成windows版本。

准备工作:

1. VS2013 的最新更新版或者VS2015

2. QT Creater 5.7   https://www.qt.io/

3.  CMake (cmake-gui)

4. obs 依赖包,下载下来后放在自己的obs主目录下

根据自己的VS版本来下载

 

编译步骤:

打开 CMake (cmake-gui).exe , 然后输入如下配置选项

OBS build path

E:\CSource\directx\workplace\obs-studio-master\build

OBS path
E:\CSource\directx\workplace\obs-studio-master

进入plugins\win-dshow
执行git clone https://github.com/jp9000/libdshowcapture.git
 ---这个库要另外下载,因为工程中这部分代码给独立成一个单独的仓库

配置目录:(根据自己的QT目录、obs依赖库目录来选择)


QTDIR
D:/ProgramFiles/QT/5.7/msvc2015

Libavcodec_DIR
E:\CSource\directx\workplace\obs-studio-master\dependencies\bin

DepsPath

E:\CSource\directx\workplace\obs-studio-master\dependencies


COPY_DEPENDENCIES
true


然后configure,gennerate,文件夹下就生成了sln文件(配置如下图)


 

 

 

可能出现的问题

1. 编译错误: 无法包含atlbase.h

解决办法:visual studio installer - 修改 - 安装msvc 桌面开发工具

2. 链接错误:

错误 LNK2019 无法解析的外部符号 "bool __cdecl DShow::IsVendorVideoHDR(struct IKsPropertySet *)" (?IsVendorVideoHDR@DShow@@YA_NPEAUIKsPropertySet@@@Z),函数 "public: void __cdecl DShow::HDevice::Receive(bool,struct IMediaSample *)" (?Receive@HDevice@DShow@@QEAAX_NPEAUIMediaSample@@@Z) 中引用了该符号 win-dshow (plugins\win-dshow\win-dshow) D:\Space\CSource\opensource\obs-studio-27.2.4\build\plugins\win-dshow\device.obj 1

解决办法:尼玛 为什么报HDR的错误??   因为不用到HDR 所以相关代码我注释了

 

posted @ 2016-11-07 18:32  洛笔达  阅读(914)  评论(0编辑  收藏  举报