C++ 更新visual studio 2019后编译非真实引擎4.24.1时出错
将VisualStudio2019社区从v16.4.5更新到16.5后,我遇到了一个奇怪的错误。即使是新安装的发动机也无法再制造。我得到下面列出的错误。编译所有模块后,生成才会失败:C++ 更新visual studio 2019后编译非真实引擎4.24.1时出错,c++,visual-studio,visual-studio-2019,unreal-engine4,C++,Visual Studio,Visual Studio 2019,Unreal Engine4,将VisualStudio2019社区从v16.4.5更新到16.5后,我遇到了一个奇怪的错误。即使是新安装的发动机也无法再制造。我得到下面列出的错误。编译所有模块后,生成才会失败: 错误C4800从“ADODB::_Recordset*const”到bool的隐式转换。可能的信息丢失UE4 C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h
错误C4800从“ADODB::_Recordset*const”到bool的隐式转换。可能的信息丢失UE4 C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h 311
从“ADODB::_Connection*const”到bool的隐式转换错误C4800。可能的信息丢失UE4 C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h 311
错误MSB3075命令“.\..\Build\BatchFiles\Build.bat-Target=“UE4Editor Win64 Development”-Target=“ShaderCompileWorker Win64 Development-Quiet”-WaitMutex-FromMsBuild”已退出,代码为5。请验证您是否有足够的权限运行此命令。UE4 C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.44
我没有更改或更新代码中虚幻引擎方面的任何内容。此错误发生在从Epic的github repo生成UE4.sln的过程中。在构建所有模块之前,构建不会失败(在构建结束时失败)
由于微软没有VS社区安装程序的档案,只有企业版和专业版,我突然被困在这里,因为我无法卸载16.5并重新安装16.4.5(这是我更新之前的最后一个工作版本)
我听说有时将“将警告视为错误”设置为false会有所帮助,但在VisualStudio中我看不到这样做的方法
对此的任何见解都会有所帮助,谢谢 首先对整个项目进行备份(只需将其复制到其他地方)。
然后删除项目目录中的以下文件夹:-
- 与
- 中间的
- 拯救
接下来打开Unreal Engine 4,然后在文件选项卡下单击刷新Visual Studio项目。完成后,再次尝试编译。这应该可以解决您的问题。因此,在从16.4.5到16.5的更新中,VS2019方面发生了一些变化,但UE4的修复程序可以在4.25分支中找到。确认这解决了我的问题 对于那些面临同样问题的人,以下是解决方案 步骤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:构建解决方案并享受 您应该添加新的代码行,如视频教程: 参数。添加(“/wd4800”);//4800:从“type”到bool的隐式转换。可能的信息
这解决了我的问题。我也有同样的问题,这解决了它: 文件路径 YOURENGINEPASS\Engine\Source\Programs\UnrealBuildTool\Platform\Windows 要更改的文件 VCToolChain.cs 在第456行之后添加以下行:
Arguments.Add("/wd4800"); // 4800: Implicit conversion from 'type' to bool. Possible information
不,链接断了。链接到其他平台并不酷,因为你无法控制链接。请在这里写下答案的相关部分,因为链接可能会随着时间的推移而改变。