利用Cmake 将最新版本OBS编译成windows版本。
准备工作:
1. VS2013 的最新更新版或者VS2015
2. QT Creater 5.7 https://www.qt.io/
3. CMake (cmake-gui)
4. obs 依赖包,下载下来后放在自己的obs主目录下
根据自己的VS版本来下载
- VS2013: https://obsproject.com/downloads/dependencies2013.zip
- VS2015: https://obsproject.com/downloads/dependencies2015.zip
编译步骤:
打开 CMake (cmake-gui).exe , 然后输入如下配置选项
OBS build path
E:\CSource\directx\workplace\obs-studio-master\buildOBS path
E:\CSource\directx\workplace\obs-studio-master
进入plugins\win-dshow
执行git clone https://github.com/jp9000/libdshowcapture.git
---这个库要另外下载,因为工程中这部分代码给独立成一个单独的仓库
配置目录:(根据自己的QT目录、obs依赖库目录来选择)
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
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 所以相关代码我注释了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】