VS2022用サンプルのCMakeのエラーの報告と課題対応について

【Cubism SDKのバージョン】Cubism SDK for Native 5-r.1
【開発使用ツール】Visual Studio 2022
【target API】D3D11
【不具合の状況】
・サンプルをダウンロードしてCMakeのバッチを実行した際にエラーが発生する

手順は下記を参照します

CMakeの実行→proj_msvc2022.batを実行する
この部分でエラーが発生しDemo.slnを生成できない

・解決方法
CubismSdkForNative-5-r.1\Samples\D3D11\Demo\proj.d3d11.cmake
CMakeList.txtの下記を書き換える
66行目
elseif(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940)
の「LESS 1940」を「LESS 1950」に置換する

VS2022のバージョンが上がった事でバージョンの範囲が1930-1939から1930-1949へと変化しています。
下記を参照
https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html

これによりVS2022の最新のバージョンを用いているとCMakeの論理に弾かれてエラーになっていたようです

確認したのはD3D11のみですが、他のAPIでも同様の問題が起こっている可能性がございます。

以上です。

追伸:Demoのビルドが通らなくて困った人用にマニュアルの手順に無かった作業も記載しておきます。
DirectXやCMakeの基本的な仕様について理解している方には困らない部分かと存じますが、初めての方には説明が欲しい部分でしたので記載しておきます。

・ダウンロードしたDirectXTKのディレクトリパスを確認する
バッチでダウンロードしたXTKのパスが「DirectXTK」になっていなければ改名してください。
またはCMakeの16行目「set(DX_PATH ${THIRD_PARTY_PATH}/DirectXTK)」の部分をダウンロードしたディレクトリ名に置換してください。
※_setup_common.bat内で改名を実行するラインがあったのですが、私のケースではミスになっていました。

・ダウンロードしたDirectXTKのDesktop_2022をビルドする
Demo.slnをビルドした時にリンクエラーが起こっているかと思います。
DirectXTKの対象のオブジェクトが未生成のために起こるものなのでビルドする事で解決できます。
私のケースでは「DirectXTK_Desktop_2022」のオブジェクトを参照したため、「thirdParty\DirectXTK\DirectXTK_Desktop_2022.sln」を「x64」で「Debug」と「Release」をビルドしました。

「いいね!」 1

@幻桂

いつも弊社製品をご愛顧のほど誠にありがとうございます。
Live2Dスタッフでございます。

対応方法についてのご報告誠にありがとうございます。

こちらのCMakeエラーについては次回リリースの際に修正予定となっております。
それまではお手数ですが投稿いただいた方法でのご対応をお願いいたします。

またマニュアルの記載不備についても参考にさせていただきます。
貴重なご意見を誠にありがとうございます。

「いいね!」 1