プロジェクトをShippingでビルドするとC1056のエラーが発生している状態です。
エラー全文は下記
D:\Root\Project\Game\Intermediate\Build\Win64\x64\Game\Shipping\***Module\Module.***Module.6.cpp : fatal error C1056: ‘D:\Root\Project\Game\Intermediate\Build\Win64\x64\Game\Shipping\***Module\Module.***Module.6.cpp.obj’ の日時スタンプ フィールドを更新できません; エラー コード %u
結果として***Module.6.cpp.objは生成されておりませんでした。
DebugGameEditorやDevelopmentのビルドは通りますし、他のマシンでは発生しないため確実に環境依存なのですが、
なかなか他環境との違いがあぶり出せずにいます。なにか似た事例が報告されていたりしないでしょうか?
試したこととして、プロジェクトフォルダのクリーンアップ、VisualStudioのアップデート&修復は試しましたがダメでした。
再現手順
手順は不明で、なぜ発生しているのかがわからない。
幾つか情報がありますが、確定的な原因は今のところ不明です。
関係があると思われる要素としては
パスの長さ、WindowsSDKバージョン、VS2022のバージョンが挙げられます。
特定の長い名前を持ったモジュールで問題が出る場合にはそのモジュールのShortNameを設定することでモジュール名を短縮することが出来ます。
バージョンに関しては適切なバージョンが、Engine/Config/Windows/Windows_SDK.jsonに記述されています。
WindowsSDKに関しては、
"MainVersion": "10.0.19041.0", "MinVersion": "10.0.18362.0",
のどちらかをVisualStudio2022に関しては
// Version number is the MSVC family, which is the version in the Visual Studio folder "PreferredVisualCppVersions": [ "14.38.33130-14.38.99999", // VS2022 17.8.x "14.37.32822-14.37.99999", // VS2022 17.7.x "14.36.32532-14.36.99999", // VS2022 17.6.x "14.35.32215-14.35.99999", // VS2022 17.5.x "14.34.31933-14.34.99999" // VS2022 17.4.x ],
ここに列挙されているバージョンの中のいずれかのうち他の問題の出ない環境に合わせてセットアップされることをお勧めします。
バージョンはコンパイル時のログの中に出力されているのでご確認ください。
情報ありがとうございます。
提示いただいた箇所やその他VisualStudioのコンポーネントの構成などを問題の発生しないマシンと合わせてみましたが解決には至りませんでした。
幸い該当のマシンはその一台だけのため、一旦はDevelomentのビルドマシンとして運用していきます。
ご確認ありがとうございます。ソフトウェアのバージョンを他の環境に合わせても問題解決に至らなかった件承知しました。
ちなみに
‘D:\Root\Project\Game\Intermediate\Build\Win64\x64\Game\Shipping\***Module\Module.***Module.6.cpp.obj’
で示されている位置に明示的に同名のファイルを生成して日付を変更しようとしたときになにか問題がでることはございますか?
またチェックアウト位置の変更やプロジェクトや中間フォルダの削除などは既に試されたのではないかと思いますが、位置が変わっても同じエラーが発生しますか?
検証結果のご共有ありがとうございます。
フォルダや階層を変えても改善に至らないことからソフトウェアやプロジェクトの問題のようです。
***Module.6.cppおよび***Module.6.cpp.objで必ず問題が出ていることからこのあたりに関連するソースファイルのくみあわせに問題の原因がある可能性があります。
正常にビルドできるビルドマシン上の***Module.6.cppとエラーの出る***Module.6.cppを比較して特徴的な差異があればその原因特定につなげられるかもしれません。
また該当モジュールのbUseUnity=falseを設定してユニティビルドを無効化することでおそらくコンパイル時間は伸びてしまいますが問題を迂回できる可能性もございます。
こちら返答が遅くなってしまいました。
適当な類似ファイルを複製してエラーが出る名前に変更して配置してみました。
テキストエディタで編集、保存は特に問題なく行えました。その状態でビルドした場合は下記エラーが出力されます。
fatal error LNK1136: ファイルが無効であるか、または壊れています。
フォルダ名や階層を変えて試してみてもC1056のエラーは発生しました。
別ドライブではまだ試せておりません。