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でそれを行う方法がわかりません。
これについての洞察は役に立ちます、ありがとう!
ビデオチュートリアルのように、新しいコード行を追加する必要があります:Arguments.Add( "/ wd4800"); // 4800: 'type'からboolへの暗黙の変換。可能な情報
これで問題が解決しました。
同じ問題に直面している人のために、ここに解決策があります。
手順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:ソリューションを構築してお楽しみください!
削除する必要がある。vs問題を解決するフォルダ。残りはプロジェクトをすばやく更新するためのものです。
次にUnreal Engine 4を開き、FileタブでVisual Studioプロジェクトを更新。完了したら、もう一度コンパイルしてみてください。これで問題が解決するはずです。
私は同じ問題を抱えていましたが、これで解決しました:
ファイルパス
YOURENGINEPASS\Engine\Source\Programs\UnrealBuildTool\Platform\Windows
変更するファイル
VCToolChain.cs
456行目に次の行を追加します。
Arguments.Add("/wd4800"); // 4800: Implicit conversion from 'type' to bool. Possible information