SuperAPI AI 工具集

obs-cross-compiling

部署与运维

查看项目

更新于 10-16 00:29

技能介绍

用途:在 Linux 上使用 MinGW-w64 将 OBS Studio 插件交叉编译为 Windows 版本,覆盖 CMake 预设、工具链配置、仅头文件链接、CI/CD 工作流与产物打包。不适用于原生 Windows MSVC 构建、Qt/C++ 前端开发、音频插件实现和代码审查。

主要能力:提供五步快速流程——安装 MinGW(sudo apt install mingw-w64 gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64)、创建 cmake/mingw-w64-toolchain.cmake 工具链文件、创建 CMakePresets.json、配置仅头文件链接、执行构建。核心是仅头文件链接模式:插件不链接 libobs.dll,OBS 在运行时提供 obs_* 符号,需使用 -Wl,--unresolved-symbols=ignore-all、--warn-unresolved-symbols、--noinhibit-exec 等链接标志。使用 .def 文件导出命名符号(obs_module_load 等),并用 x86_64-w64-mingw32-objdump 验证导出。提供 fetch-obs-sdk.sh 脚本获取 OBS 头文件并校验 SHA256,以及 Gitea/GitHub Actions 的 CI 构建、验证与打包示例,产物命名遵循 {plugin-name}-{version}-{platform}-{commit}.{ext}。

使用方式:安装依赖后,运行 ./ci/fetch-obs-sdk.sh windows,再执行 cmake --preset linux-cross-windows-x64 -DOBS_SOURCE_DIR="$PWD/.deps/windows-x64/obs-studio-32.0.4" 与 cmake --build --preset linux-cross-windows-x64,最后用 file 命令确认输出为 PE32+。

限制:需避免缺少工具链文件、链接 libobs、缺少 .def 文件、缺少 -static-libgcc、硬编码 OBS 路径和不校验下载校验和等禁止模式。资料未提供具体收费、价格或平台支持范围等信息。