在将Visual Studio 2019社区从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我没有改变或更新任何虚幻引擎方面的代码。这个错误发生在UE4.sln的构建过程中,UE4.sln来源于Epic的github repo。在构建所有模块之前,构建不会失败(它在构建结束时失败)。
由于微软没有VS社区的安装程序存档,只有Enterprise和Pro,我突然被困在这里,因为我不能卸载16.5并重新安装16.4.5 (这是我在更新之前使用的最后一个工作版本)。
我听说有时将“视警告为错误”设置为false会有帮助,但我在Visual Studio中看不到这样做的方法。
任何对此的见解都将是有帮助的,谢谢!
发布于 2020-04-01 10:02:13
所以,在从16.4.5到16.5的更新中,VS2019端发生了一些变化,但是UE4的修复可以在4.25分支上的this commit中找到。确认这解决了我的问题!
发布于 2020-04-01 03:06:45
首先备份整个项目(只需将其复制到其他地方)。
然后删除项目目录中的以下文件夹:-
您只需删除.vs文件夹即可解决此问题。其余的只是为了快速刷新您的项目。
接下来打开虚幻引擎4,然后在文件选项卡下点击刷新Visual Studio Project。完成后,尝试再次编译。这应该可以解决您的问题。
发布于 2020-05-02 02:54:28
对于那些面临同样问题的人,这里有解决方案。
步骤1:在YourEngineSourceDir\Engine\Plugins\Runtime\Database\ADOSupport\Source\ADOSupport\Private上打开文件ADOSupport.cpp
第2步:转到255行,并将其从if(ADORecordSet && (ADORecordSet->State & ADODB::adStateOpen))修改为if(ADORecordSet != nullptr && (ADORecordSet->State & ADODB::adStateOpen))
步骤3:转到328行,并将其从if( DataBaseConnection && (DataBaseConnection->State & ADODB::adStateOpen))修改为if( DataBaseConnection != nullptr && (DataBaseConnection->State & ADODB::adStateOpen))
步骤4:构建解决方案,尽情享受!
https://stackoverflow.com/questions/60943495
复制相似问题