GodotのGDCubismをビルドしたらちょっとハマった話

GDCubismは、Godot EngineでLive2Dが再生できる9月ごろに公開されたてほやほやのGDExtensionアドオンです。
MizunagiKB / gd_cubism
スゴイ!ということでビルドに挑戦したはいいものの、なんやらうまくいかなかったので、解決までの顛末を記事にしてみます。

事象

・手順通りにやってもGDCubismのビルドが上手くいかない
・「std::is_base_of_v」を使ってるところでエラーが出る
 →「error C2065: 'is_base_of_v': 定義されていない識別子です。」
・バージョンがおかしいっぽいWarningがちょいちょい出てる
 →「cl : コマンド ライン warning D9002 : 不明なオプション '/std:c++17' を無視します」

環境確認

困ったときはとりあえず環境を確認してみる。

公式のビルド要件

・VisualStudio Community, version 2019 or lator.
・Python 3.6+
・SCons 3.0+ build system.

自環境を確認

・Visual Studio
 →2022 Communityをインストール済み
・Python
 →3.9.7
・SCons
 →pipでsconsを新規インストールした

特に問題なさげ。

仮説1:最新のcl.exeにパスが通っていないのではないか?

すべてのドライブのcl.exeを調べたが、自環境内の最も新しいものにパスが通っている様子

仮説2:そもそもcl.exeが古いのでは?

Visual Studio 2022がインストールされているのに???
と思いつつ調べてみるとVisual Studio 2022のインストールフォルダ配下にcl.exeがない...!

さらに調べてみると
・Visual Studio 2017以降はVisual Studioをインストールしただけだとcl.exeはインストールされないらしい?
・複数のVisual Studioをインストールしようとした場合、cl.exeがすでにあると更新されないらしい?
みたいなエントリーがあった(Google調べ、未検証)

原因

cl.exeが古い!

解決策

というわけで、C++を明示的にインストールしてみます。
・Visual Studio 2022を起動
・「コードなしで続行」
・メニューの「ツール」→「ツールと機能を取得」
・「ワークロード」→「デスクトップとモバイル」
・「C++によるデスクトップ開発」にチェック
・「変更」ボタン
・インストールが終わるまで待つ

結果

C++のインストール完了後に再トライしたら無事にビルド成功!
おめでとう俺!

おわり

公式のビルド要件は厳密には
「Visual Studio CommunityのVersion 2019以降に付随するcl.exeがインストールされてること」
ということらしいです。
複数のVisual Studioがインストールされてる かつ Godot EngineでGDCubismしたい人はお気を付けて。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索