Visual Studio Community 2022でOBSをビルドする手順
はじめに
これはVisual Studio Community 2022でOBSをビルドする手順の記録です。 64bitのWindows版のOBSをビルドします。
基本的にこの手順に従います。
Wiki - Build Instructions For Windows | OBS
必要なソフト
- Visual Studio Community 2022
- Windows 10 SDK https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
- Pre-built Windows dependencies →C:/projects/obs-deps以下にzipファイルを展開しておく
- CMake
- git
手順
コードをクローンする。
% mkdir ~/projects % cd ~projects/ % git clone --recursive https://github.com/obsproject/obs-studio.git
CMakeでの作業
CMake(GUI)を起動する。
以下を設定する。
Where is the source code →C:/projects/obs-studio
Where to build the binaries →C:/projects/obs-build
最低限、以下のエントリーを追加する。
CMAKE_PREFIX_PATH 例: C:/projects/obs-deps/windows-deps-2022-08-02-x64
QTDIR 例: C:/projects/obs-deps/windows-deps-qt6-2022-08-02-x64
Configureを実行する。 コンパイラの指定が求められるので「Visual Studio 17 2022」を選択する。
Generateを実行する。
コマンドでのプロジェクト生成
CMakeの使い方に慣れてきたら、コマンド版のCMakeを利用するとより便利になる。 以下のコマンドで上記と同様のプロジェクトを生成できる。
$ cd /c/projects/obs-studio $ cmake -S . -B ../obs-build -DCMAKE_PREFIX_PATH="/c/projects/obs-deps/windows-deps-2022-08-02-x64" -DQTDIR="/c/projects/obs-deps/windows-deps-qt6-2022-08-02-x64"
Visual Studioでの作業
生成が成功したら、C:\projects\obs-build\obs-studio.slnを開く
ソリューションをビルドする。
ビルドが成功したら、C:\projects\obs-build\rundir\Debug\bin\64bit以下にobs64.exeが生成される。
任意の場所にブレークポイントをセットすることで、Visual Studioでのデバッグも可能。
注意事項
ビルドに関する問題の対処について記します。
キャッシュ問題
別のブランチに変更した場合、キャッシュが残って、リビルドしても前の状態が残ってしまう場合がある。 対処としては、2パターン考えられる。
- ソフトリセット:CMakeによるプロジェクト生成を再実行する (
git pull
で軽微な変更を適用する場合) - ハードリセット:ビルドディレクトリ(C:/projects/obs-build)を丸ごと削除し、CMakeによるプロジェクト生成を再実行する。
warning C4819エラーの対処
CP932環境として設定されたWindowsでビルドすると、以下のエラーが出てビルドできない場合がある。
17>C:\projects\obs-studio\plugins\obs-ffmpeg\external/nvEncodeAPI.h(1291,1): error C2220: 次の警告はエラーとして処理されます (ソース ファイルをコンパイルしています C:\projects\obs-studio\plugins\obs-ffmpeg\jim-nvenc-helpers.c)
以下の記事を参考に、システムの設定を変更することで、このエラーを回避できる。