obs windows 编译和打包[通俗易懂]

obs windows 编译和打包[通俗易懂]obswindows编译和打包构建最新版obsstudio;参考https://github.com/obsproject/obs-studio/wiki/Install-Instructions下载并安装VShttps://visualstudio.microsoft.com/zh-hans/downloads/下载并安装QThttps://www.qt.io/off…

大家好,又见面了,我是你们的朋友全栈君。

obs windows 编译和打包

  • 构建最新版obs studio;
    • 参考 https://github.com/obsproject/obs-studio/wiki/Install-Instructions
    • 下载并安装 VS https://visualstudio.microsoft.com/zh-hans/downloads/
    • 下载并安装 QT https://www.qt.io/offline-installers
    • 下载并解压依赖库 https://obsproject.com/downloads/dependencies2017.zip
      • 注:如果是编译已有的工程,可看已有的工程依赖的是哪个库,像有一些旧的代码可能就是基于 dependencies2015 来开发的,弄错了可能会编译出错
    • 下载并安装 Windows 10 SDK https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
      • 注:这步有可能不需要,也有可能需要,vs2019 就已经包含了该 sdk,如果后面编译不过,再来做这步亦可。10.0.18362.0 sdk 安装还可能会提示下载 WPTx64-x86_en-us.msi 失败,多重试几次即可。
    • 下载源码 git clone –recursive https://github.com/obsproject/obs-studio.git
      • 注:这里建议下载最新稳定的版本,不建议使用 master,我这里使用的是 obs-studio-25.0.1
    • 下载并安装 cmake https://cmake.org/download/
      • 注:obs 新版本源码还对 cmake 版本有要求,如 obs-studio-25.0.1 就需要 cmake-3.16.0,上面的网址可能被墙下载不了,可以试试 https://fossies.org/windows/misc/cmake-3.17.0-win64-x64.zip/,如果这个也下载不了,可以直接从我的 csdn 上下载 https://download.csdn.net/download/XiaoStore/12300655
    • 使用 cmake 生成工程环境
      • 运行 cmake-gui
        • 32位的操作如下:
          • 设置源码目录 C:\Users\Administrator\Desktop\xiaoshiwei\obs-studio
          • 设置编译后的二进制目录 C:\Users\Administrator\Desktop\xiaoshiwei\obs-studio\build (这个目录需要自己创建,下载的源码里面没有这个目录)
          • 添加环境变量 DepsPath 依赖库目录 C:\Users\Administrator\Desktop\xiaoshiwei\dependencies2017\win32
          • 添加环境变量 QTDIR 依赖库目录 C:\Qt\Qt5.13.1\5.13.1\msvc2017
          • 执行配置,选择 Visual Studio 15 2017 win32,(这个步骤如果没有安装 win10 sdk 是会失败的,可以看失败提示)
        • 64 位的操作如下:
          • 设置源码目录 C:\Users\Administrator\Desktop\xiaoshiwei\64bit\obs-studio
          • 设置编译后的二进制目录 C:\Users\Administrator\Desktop\xiaoshiwei\64bit\obs-studio\build (这个目录需要自己创建,下载的源码里面没有这个目录)
          • 添加环境变量 DepsPath 依赖库目录 C:\Users\Administrator\Desktop\xiaoshiwei\dependencies2017\win64
          • 添加环境变量 QTDIR64 依赖库目录 C:\Qt\Qt5.13.1\5.13.1\msvc2017_64
          • 执行配置,选择 Visual Studio 15 2017 x64,(这个步骤如果没有安装 win10 sdk 是会失败的,可以看失败提示)
        • 注:这里也能可以通过设置系统环境变量(我的电脑-》属性-》高级系统设置-》高级-》环境变量),这样的话只方便固定编译参数,如果要切换32/64位的编译,就需要修改系统环境变量
          • DepsPath:F:\Software\dependencies2015\win64
          • QTDIR:D:\Qt\Qt5.13.0\5.13.0\msvc2017_64
          • Qt5WebEngineWidgets_DIR:D:\Qt\Qt5.13.0\5.13.0\msvc2017_64\lib\cmake\Qt5WebEngineWidgets
      • 执行生成
      • 打开项目,将自动打开已经生成好的 Visual Studio 工程文件
    • 使用 vs 编译 ALL_BUILD 工程,编译好后提示 ========== 生成: 成功 40 个,失败 0 个,最新 0 个,跳过 0 个 ==========
      • 注:有些老版本部分代码文件使用了 UTF-8-BOM 编码,需要对该项目属性的C/C++ -> 命令行部分,其他选项增加“/utf-8”。否则会导致构建是语法检查失败。即使把不符合标准的编码改成标准使其编译通过,但运行后仍可能出现乱码。
    • 验证,使用 VS 调试运行正常
      • 注:如果代码依赖了 QWebEngineView 等动态库,运行时可能会报缺少这些依赖库,有以下两种解决方法:
        • 生成对应的调试依赖 obs-studio-25.0.1\Build\rundir\Release\bin\64bit> D:\Qt\Qt5.13.0\5.13.0\msvc2017_64\bin\windeployqt.exe -no-translations –qmldir D:\Qt\Qt5.13.0\5.13.0\msvc2017_64\qml obs64.exe
        • 配置调试运行路径 PATH=%PATH%;D:\Qt\Qt5.13.0\5.13.0\msvc2017_64\bin,打包时不能使用该方法,还是要使用上面的方法。
    • 使用易量安装:执行 Build\rundir\Release\mp-installer.nsi 进行打包
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139829.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何做职业规划并进行求职准备(持续更新)「建议收藏」

    如何做职业规划并进行求职准备(持续更新)「建议收藏」读《这些道理没有人告诉过你》的职业规划思考1.根据初步判断,我最适合的职位应该是软件测试工程师2.根据初步判断,我最适合的行业应该是软件测试行业?互联网行业?互联网金融行业?电商行业?(不太清楚行业的分类,暂时先这么写吧)3.根据职位与行业,我选定的目标公司应该是:最高目标公司三家:阿里巴巴集团、天猫、京东(亚马逊、沃尔玛百货公司、苏宁云商集团股份有…

    2022年10月20日
    0
  • stm32l476芯片介绍(nvidia驱动无法找到兼容的图形硬件)

    前言最近购买了IoTBoard潘多拉开发板来研究,学习使用STM32CubeMX工具配置SPI,然后驱动了TFTLCD。潘多拉开发板的TFTLCD驱动IC是ST7789V2,结合原子哥的TFTLCD代码,分享自己的硬件SPI+软件SPI驱动ST7789V2+中文显示。关于STM32CubeMX的使用可以参考微雪课堂STM32CubeMX系列教程。STM32L475硬件SPI+软…

    2022年4月17日
    97
  • 虚拟存储技术和交换技术的区别是什么_虚拟存储器技术

    虚拟存储技术和交换技术的区别是什么_虚拟存储器技术虚拟存储技术和交换技术很像,乍一看都是换入换出,把暂时不需要用的数据换出内存,将需要用到的数据换入内存,从而实现逻辑上内存的扩充。二者之间的区别是,虚拟存储技术是在一个作业运行的过程中,将作业的数据进行换入换出。王道老师举得例子就是玩儿游戏。这儿换一个游戏,比如玩儿DOTA,停留在场景A的时候,场景B的数据不需要用到,所以不放在内存,转换到场景B的时候再把场景B的数据放入内存。而交换技术是内存紧张时,换出某些进程,腾出内存空间,换入其他进程。换而言之,交换技术是在不同的进程(作业)间的,虚拟存储技术是在一个

    2022年9月26日
    0
  • lasso回归matlab,机器学习Lasso回归重要论文和Matlab代码「建议收藏」

    lasso回归matlab,机器学习Lasso回归重要论文和Matlab代码「建议收藏」这是机器学习Lasso回归重要论文和Matlab代码下载,最近要做《优化理论基础》的课程大作业,需要用到mnist这个手写识别数据库,在网上查了一下如何使用,分享在这里,以飨读者。软件介绍机器学习Lasso回归重要论文和Matlab代码是纽约大学(NYU)YannLecun在上个世纪90年代做的一个关于手写数字识别的数据库。该数据库提出的Motivation是为了解决美国邮政zipcode机器…

    2022年5月17日
    44
  • beanutils.copyproperties原理_beanutils工具类

    beanutils.copyproperties原理_beanutils工具类常用的BeanUtils.copyProperties方法,你知道它的实现原理吗?

    2022年10月3日
    0
  • 跳出循环的三种方式

    跳出循环的三种方式break、continue、goto三个关键字都可以用于跳出循环,但三者跳出循环的情况却有所不同braek:跳出本层循环,执行本层循环下面的语句。continue:终止本次循环,进入下一次循环。goto:调到标号所在位置,执行标号下面的语句,它比较方便的是可以一次跳出多重循环,但是它只能在函数内跳转,不能在函数间跳转。goto语句有一定的弊病,会使程序的流程变得混乱,有时会难以理解,并

    2022年6月3日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号