VS2022编译obs-studio-28.1.2

  • 前言
    • 准备工作
    • 构建过程
    • 问题记录:

前言

obs-studio-28.1.2出来已经有一段时间了,今天就尝试编译一下,顺便记录一下我编译的过程。

准备工作

自动 Windows 构建允许以最少的输入和设置构建 OBS。自动安装必要的依赖项,构建标志使用合理的默认值,生成的 OBS 构建使用应用程序的完整功能集:
1.Windows PowerShell(v5+ 和更新版本);
2. Visual Studio 2022(至少是社区版);
3. windows 10 sdk(最低 10.0.20348.0);
以上不清楚的自行百度

构建过程

运行Windows PowerShell,切换到指定目录,下载源码:

git clone --recursive https://github.com/obsproject/obs-studio.git

切换到源码目录,然后运行以下命令之一

#Download and set up dependencies, then build OBS for local host
#architecture with common feature set

CI/build-windows.ps1

#Check for dependencies installable via Chocolatey

CI/build-windows.ps1 -Choco

#Skip download and setup of dependencies

CI/build-windows.ps1 -SkipDependencyChecks

#Build 32-bit only

CI/build-windows.ps1 -BuildArch '32-bit'

#Build both architectures

CI/build-windows.ps1 -CombinedArchs

#Create a zip archive with OBS and all required libraries
CI/build-windows.ps1 -Package

#Create a debug build

CI/build-windows.ps1 -BuildConfiguration Debug

#Use my_build_dir prefix as build directory

CI/build-windows.ps1 -BuildDirectory my_build_dir

#Build and package a combined 64-bit and 32-bit of OBS with Release configuration,
#using more verbose output and skipping dependency checks

CI/build-windows.ps1 -SkipDependencyChecks -CombinedArchs -BuildConfiguration Release -Verbose

#Show all available options

CI/build-windows.ps1 -Help

我直接运行的是第一个脚本CI/build-windows.ps1

问题记录:

1、编译过程会遇到Windows PowerShell没有权限运行脚本问题
权限问题。Powershell脚本的4种执行权限介绍,Windows默认不允许任何脚本运行,
我们可以使用"Set-ExecutionPolicy"cmdlet来改变的PowerShell环境,共有4种运行权限:
Restricted——默认的设置, 不允许任何script运行
AllSigned——只能运行经过数字证书签名的script
RemoteSigned——运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名
Unrestricted——允许所有的script运行
解决方法:
管理员运行Windows PowerShell输入下面命令:

set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy Unrestricted-Scope CurrentUser

2、报错:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决方法:
在源码目录的 CMakeList.txt 中加入如下内容即可

add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")

就这么简单接下来,你只要看着脚本帮你完成一切工作就ok了。

2023-3-30编译了obs29.1.0版本。
记录:

---------------------------------------------------------------------------------------------------------------------------------------
1、下载obs
git clone --recursive https://github.com/obsproject/obs-studio.git
注意很多别的用户提交的模块下载不了,要单独下载。如:
enc-amf
obs-browser
obs-websocket
libdshowcapture
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2、打开Windows PowerShell,切换到obs下载目录
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3、脚本编译安装obs
CI/build-windows.ps1
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4、出现错误1:
CI/build-windows.ps1 : 无法加载文件 D:\project2023\VC\obs\obs-studio\CI\build-windows.ps1,因为在此系统上禁止运行脚本。
有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ CI/build-windows.ps1
+ ~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          : SecurityError: (:) [],PSSecurityException+ FullyQualifiedErrorId : UnauthorizedAccess
解决办法:
set-ExecutionPolicy Unrestricted
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5、出现错误2:
Error while installing winget package 7zip.7zip: 无法将“winget”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请
检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 D:\project2023\VC\obs\obs-studio\CI\include\build_support_windows.ps1:189 字符: 17
+ ...             throw "Error while installing winget package ${Package}:  ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          : OperationStopped: (Error while ins...请确保路径正确,然后再试一次。:String) [], RuntimeEx
ception+ FullyQualifiedErrorId : Error while installing winget package 7zip.7zip: 无法将“winget”项识别为 cmdlet、函数、
脚本文件或可运行程序的名称    。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
解决办法:
下载win10自带的winget包管理工具
下载网址:
https://github.com/microsoft/winget-cli/releases?page=4Windows PowerShell安装.appxbundle后缀的winget
Add-AppxPackage -Path "C:\Users\Administrator\Downloads\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6、出现错误3:
Invoke-Expression : 无法将“7z”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 D:\project2023\VC\obs\obs-studio\CI\windows\01_install_dependencies.ps1:83 字符: 9
+         Invoke-Expression "7z x vlc_${Version}.zip -ovlc"
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (7z:String) [Invoke-Expression], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.InvokeExpressionCommand
解决办法:
安装7-ZIP
下载网站:
https://7-zip.org/
安装后把安装路径设置到系统环境变量,重启电脑。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7、出现错误4:
OBS: OBS -websocket子模块deps不可用。
子模块deps为空,重新下载。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8、出现错误5:
OBS: OBS -win-dshow子模块capture-device-support找不到
子模块capture-device-support为空,重新下载。
---------------------------------------------------------------------------------------------------------------------------------------

VS2022编译OBS相关推荐

  1. VS2022编译libpng库

    本文将使用VS2022编译libpng,操作系统为Windows10.官网地址:链接 1. 下载源代码 由于 libpng 依赖 zlib ,因此需要下载 libpng 和 zlib 的源代码. li ...

  2. obs windows 编译 obs browser

    参考 https://github.com/obsproject/obs-browser 编译 cef,有些版本号可能编译不过或者与 obs browser 不匹配,需要多尝试,本人测试多次才找到 3 ...

  3. vs2019编译obs源码生成sln解决方案

    目录 一.OBS介绍 二.OBS源码下载 三.Qt配置 四.设置依赖库目录 五.开始编译 六.main函数 七.视频教程 一.OBS介绍   obs的编译不是很难,只要代码下的全,环境变量配的ok, ...

  4. vs2022 编译libmodbus源码

    ​​​​​vs编译libmodbus-C++文档类资源-CSDN下载 项目需要用到了第三方库libmodbus,本文安装的是libmodbus3.1.7,结果如下. 方法一.vs2022编译,默认32 ...

  5. VS2013编译OBS源码

    obs源码来之:https://sourceforge.net/projects/obsproject/ 下载源码之后直接打开sln索引文件就行 项目打开之后 obs作为启动项 直接编译就行,正常应该 ...

  6. 使用VS2022编译Telegram桌面端(tdesktop)

    2018年的时候参考Telegram桌面端(tdesktop)编译方法成功编译过tdesktop,后来比较忙,就没管它了 这段时间正好在研究IM,就把当年的Telegram工程找出来,依然能正常编译, ...

  7. UE5+VS2022编译Lyra实例项目

    1.从Epic的示例下载Lyra Starter Game. 2.下载后先不用UE5打开,打开下载目录,选择Lyra.uproject,右键选择生成VS sln项目. 3.用VS2022打开新生成的s ...

  8. FFmpeg —— 编译obs源码(解决编译后不能捕获摄像头问题)

    效果   官方文档 OBS Studio 27.1.3 文档   obs编译步骤      1.下载源码           方案一:git下载源码 /* git下载步骤:安装git后.创建文件夹,在 ...

  9. windows下编译obs遇到的错误及解决

    obs是国外开源的直播推流工具,用的很多.本人从 https://github.com/obsproject/obs-studio下载源码编译,具体的过程请参考https://github.com/o ...

最新文章

  1. VS怎样创建和使用lib文件
  2. BZOJ3451 Normal 期望、点分治、NTT
  3. mysql锁争用_关于MYSQL条件竞争与锁的问题
  4. 基于注解的SpringMVC整合JPA
  5. python学习day06--01
  6. node.js require 自动执行脚本 并生成html,从HTML页面执行Nodejs脚本?
  7. 一则非常巧合的ORA-15042恢复
  8. 卷积神经网络(CNN)中,卷积层、激活函数、池化层、全链接层术语解析
  9. Redis介绍及常用命令【转载】
  10. 在开源UOJ的导航栏中添加新页面链接
  11. 【EDA技术】 实验一 利用半减器设计一位全减器
  12. WindRiver编译小结
  13. 11.2 RS232通信接口
  14. java 数据周期预测_预测算法 | Holt Winter季节性指数平滑法 附JAVA代码
  15. UE4 相机对焦学习笔记
  16. 数据库(mysql)之用户管理
  17. R语言水文序列突变点检验之滑动平均差法
  18. 北京大学邮箱客户端设置方法
  19. 《谦逊的问讯》三步实用指南
  20. 龙书的资源和目录整理

热门文章

  1. [20091031]箱根红叶
  2. 出厂为安卓10及以上的动态分区机型---永久去除data加密教程
  3. 表访问方式----全表扫描(Full Table Scans, FTS)
  4. Mac 隐藏文件(显示/隐藏)
  5. 应用层概述(计算机网络-应用层)
  6. linux自动调代码格式,使用vim粘贴代码时格式变乱,自动缩进,自动加注释解决方案...
  7. macOS Monterey官方镜像下载地址 - 迅雷可用 - 12.13G
  8. 原来,新加坡有这么多美食!
  9. oracle sql时间的加减,sql date时间加减几天几小时
  10. Mac下使用AppleScript批量删除短信