web-dev-qa-db-ja.com

Visual Studio 2019の更新後にアンリアルエンジン4.24.1をコンパイルするとエラーが発生する

Visual Studio 2019 Communityをv16.4.5から16.5に更新した後、奇妙なエラーが発生します。エンジンの新規インストールでさえビルドされなくなります。以下のエラーが発生します。すべてのモジュールのコンパイルが終了するまで、ビルドは失敗しません。

Error C4800 Implicit conversion from 'ADODB::_Recordset *const ' to bool. Possible information loss UE4 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h 311

Error C4800 Implicit conversion from 'ADODB::_Connection *const ' to bool. Possible information loss UE4 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h 311

Error MSB3075 The command "..\..\Build\BatchFiles\Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command. UE4 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets 44

アンリアルエンジン側のコードは何も変更または更新していません。このエラーは、Epicのgithubリポジトリから提供されたUE4.slnのビルド中に発生します。すべてのモジュールがビルドされるまで、ビルドは失敗しません(ビルドの最後に失敗します)。

MicrosoftにはVS Communityのインストーラーのアーカイブがなく、EnterpriseとProだけがあるので、16.5をアンインストールして16.4.5を再インストールすることができないので、突然ここに行き詰まりました(これが最後に使用していた作業バージョンです)更新前)。

「警告をエラーとして扱う」をfalseに設定すると役立つ場合があると聞きましたが、Visual Studioでそれを行う方法がわかりません。

これについての洞察は役に立ちます、ありがとう!

2
Slavkosky

ビデオチュートリアルのように、新しいコード行を追加する必要があります:Arguments.Add( "/ wd4800"); // 4800: 'type'からboolへの暗黙の変換。可能な情報

https://youtu.be/KXIv4y51fyw

これで問題が解決しました。

0
FeroxD

同じ問題に直面している人のために、ここに解決策があります。

手順1:ファイルを開くADOSupport.cpp on[YourEngineSourceDir]\Engine\Plugins\Runtime\Database\ADOSupport\Source\ADOSupport\Private

ステップ2:行255に移動し、if(ADORecordSet && (ADORecordSet->State & ADODB::adStateOpen))からif(ADORecordSet != nullptr && (ADORecordSet->State & ADODB::adStateOpen))に変更します

ステップ3:行28に到達し、if( DataBaseConnection && (DataBaseConnection->State & ADODB::adStateOpen))からif( DataBaseConnection != nullptr && (DataBaseConnection->State & ADODB::adStateOpen))に変更します

ステップ4:ソリューションを構築してお楽しみください!

0
Talisson Bento

まず、プロジェクト全体のバックアップを作成します(別の場所にコピーするだけです)。

その後、プロジェクトディレクトリ内の次のフォルダを削除します。

  • .vs
  • 中級
  • 保存しました

削除する必要がある。vs問題を解決するフォルダ。残りはプロジェクトをすばやく更新するためのものです。

次にUnreal Engine 4を開き、FileタブでVisual Studioプロジェクトを更新。完了したら、もう一度コンパイルしてみてください。これで問題が解決するはずです。

0
Cruz

私は同じ問題を抱えていましたが、これで解決しました:

ファイルパス

YOURENGINEPASS\Engine\Source\Programs\UnrealBuildTool\Platform\Windows

変更するファイル

VCToolChain.cs

456行目に次の行を追加します。

Arguments.Add("/wd4800"); // 4800: Implicit conversion from 'type' to bool. Possible information
0
Dawnthief