VS2022编译OBS
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相关推荐
- VS2022编译libpng库
本文将使用VS2022编译libpng,操作系统为Windows10.官网地址:链接 1. 下载源代码 由于 libpng 依赖 zlib ,因此需要下载 libpng 和 zlib 的源代码. li ...
- obs windows 编译 obs browser
参考 https://github.com/obsproject/obs-browser 编译 cef,有些版本号可能编译不过或者与 obs browser 不匹配,需要多尝试,本人测试多次才找到 3 ...
- vs2019编译obs源码生成sln解决方案
目录 一.OBS介绍 二.OBS源码下载 三.Qt配置 四.设置依赖库目录 五.开始编译 六.main函数 七.视频教程 一.OBS介绍 obs的编译不是很难,只要代码下的全,环境变量配的ok, ...
- vs2022 编译libmodbus源码
vs编译libmodbus-C++文档类资源-CSDN下载 项目需要用到了第三方库libmodbus,本文安装的是libmodbus3.1.7,结果如下. 方法一.vs2022编译,默认32 ...
- VS2013编译OBS源码
obs源码来之:https://sourceforge.net/projects/obsproject/ 下载源码之后直接打开sln索引文件就行 项目打开之后 obs作为启动项 直接编译就行,正常应该 ...
- 使用VS2022编译Telegram桌面端(tdesktop)
2018年的时候参考Telegram桌面端(tdesktop)编译方法成功编译过tdesktop,后来比较忙,就没管它了 这段时间正好在研究IM,就把当年的Telegram工程找出来,依然能正常编译, ...
- UE5+VS2022编译Lyra实例项目
1.从Epic的示例下载Lyra Starter Game. 2.下载后先不用UE5打开,打开下载目录,选择Lyra.uproject,右键选择生成VS sln项目. 3.用VS2022打开新生成的s ...
- FFmpeg —— 编译obs源码(解决编译后不能捕获摄像头问题)
效果 官方文档 OBS Studio 27.1.3 文档 obs编译步骤 1.下载源码 方案一:git下载源码 /* git下载步骤:安装git后.创建文件夹,在 ...
- windows下编译obs遇到的错误及解决
obs是国外开源的直播推流工具,用的很多.本人从 https://github.com/obsproject/obs-studio下载源码编译,具体的过程请参考https://github.com/o ...
最新文章
- VS怎样创建和使用lib文件
- BZOJ3451 Normal 期望、点分治、NTT
- mysql锁争用_关于MYSQL条件竞争与锁的问题
- 基于注解的SpringMVC整合JPA
- python学习day06--01
- node.js require 自动执行脚本 并生成html,从HTML页面执行Nodejs脚本?
- 一则非常巧合的ORA-15042恢复
- 卷积神经网络(CNN)中,卷积层、激活函数、池化层、全链接层术语解析
- Redis介绍及常用命令【转载】
- 在开源UOJ的导航栏中添加新页面链接
- 【EDA技术】 实验一 利用半减器设计一位全减器
- WindRiver编译小结
- 11.2 RS232通信接口
- java 数据周期预测_预测算法 | Holt Winter季节性指数平滑法 附JAVA代码
- UE4 相机对焦学习笔记
- 数据库(mysql)之用户管理
- R语言水文序列突变点检验之滑动平均差法
- 北京大学邮箱客户端设置方法
- 《谦逊的问讯》三步实用指南
- 龙书的资源和目录整理
热门文章
- [20091031]箱根红叶
- 出厂为安卓10及以上的动态分区机型---永久去除data加密教程
- 表访问方式----全表扫描(Full Table Scans, FTS)
- Mac 隐藏文件(显示/隐藏)
- 应用层概述(计算机网络-应用层)
- linux自动调代码格式,使用vim粘贴代码时格式变乱,自动缩进,自动加注释解决方案...
- macOS Monterey官方镜像下载地址 - 迅雷可用 - 12.13G
- 原来,新加坡有这么多美食!
- oracle sql时间的加减,sql date时间加减几天几小时
- Mac下使用AppleScript批量删除短信