Engine 4.24.3 error compiling from source

Hello,

I am trying to install unreal engine 4.24.3 from source, but are running into some issues. I’ve tried reinstalling my vs2019 several times and are confident I have the right components installed. I even reset my computer. Attached is an image showing the errors I am getting.

-edit: I took a look at the outputlog, and considering the errors I am getting, there may be something wrong with my visual studio 2019 as well. Any ideas?

1>------ Build started: Project: UE4, Configuration: Development_Editor x64 ------
1>Building UE4Editor and ShaderCompileWorker...
1>Using Visual Studio 2019 14.25.28611 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
1>Building 4 actions with 8 processes...
1>  [1/4] ADOSupport.cpp
1>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::_Recordset *const ' to bool. Possible information loss
1>  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h(311): note: consider using explicit cast or comparison to nullptr to avoid this warning
1>  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h(310): note: while compiling class template member function '_com_ptr_t<_com_IIID<ADODB::_Recordset,& _GUID_00001556_0000_0010_8000_00aa006d2ea4>>::operator bool(void) noexcept const'
1>  D:\Epic Games\UnrealEngine-release\Engine\Plugins\Runtime\Database\ADOSupport\Source\ADOSupport\Private\ADOSupport.cpp(255): note: see reference to function template instantiation '_com_ptr_t<_com_IIID<ADODB::_Recordset,& _GUID_00001556_0000_0010_8000_00aa006d2ea4>>::operator bool(void) noexcept const' being compiled
1>  D:\Epic Games\UnrealEngine-release\Engine\Plugins\Runtime\Database\ADOSupport\Intermediate\Build\Win64\UE4Editor\Development\ADOSupport\msado15.tli(1813): note: see reference to class template instantiation '_com_ptr_t<_com_IIID<ADODB::_Recordset,& _GUID_00001556_0000_0010_8000_00aa006d2ea4>>' being compiled
1>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
1>  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h(311): note: consider using explicit cast or comparison to nullptr to avoid this warning
1>  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\INCLUDE\comip.h(310): note: while compiling class template member function '_com_ptr_t<_com_IIID<ADODB::_Connection,& _GUID_00001550_0000_0010_8000_00aa006d2ea4>>::operator bool(void) noexcept const'
1>  D:\Epic Games\UnrealEngine-release\Engine\Plugins\Runtime\Database\ADOSupport\Source\ADOSupport\Private\ADOSupport.cpp(328): note: see reference to function template instantiation '_com_ptr_t<_com_IIID<ADODB::_Connection,& _GUID_00001550_0000_0010_8000_00aa006d2ea4>>::operator bool(void) noexcept const' being compiled
1>  D:\Epic Games\UnrealEngine-release\Engine\Plugins\Runtime\Database\ADOSupport\Intermediate\Build\Win64\UE4Editor\Development\ADOSupport\msado15.tli(1760): note: see reference to class template instantiation '_com_ptr_t<_com_IIID<ADODB::_Connection,& _GUID_00001550_0000_0010_8000_00aa006d2ea4>>' being compiled
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(44,5): 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.
1>Done building project "UE4.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========

Thanks :slight_smile:

~Stefan

Did you try executing VS as admin and building it from source? Your third error message says “Please verify you have sufficient rights to execute this command”.

No I did not, how do I do this? The option to run the UE4.sln as administrator doesn’t show up like it does with my .bat files.

The sufficient rights error has appeared multiple times for me when compiling the engine from earlier as well, but me not having administrator perms were never the problem, but rather something else causing it.

-edit: I did run UE4.sln as administrator but this had no effect, and I am still getting the same errors. Also, I tried compiling a project from the engine installed on the epic games launcher, and it works fine. It’s just my source engine that won’t compile.

had a similar issue. seems the VS2019 MSVC 14.25.28610 toolchain for c++ is the problem, reverting to the 14.22.27905 toolchain solved this issue for me.

I tried installing MSVC 14.22 and set the engine to target it, but it didn’t work and I am still getting the same errors. Any ideas? I followed this tutorial:
Side-by-side Minor Version MSVC

I found the solution for your problem… It happened to me as well… Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCToolChain.cs
Add the following line in line 486:
Arguments.Add("/wd4800"); // 4800: Implicit conversion from ‘type’ to bool. Possible information loss

Wow this worked. Can you convert to answer so I can mark this thread as resolved? :slight_smile: Thanks

I got same problem and that I solved it from Magerbeton and Cerberus’ comment

Glad you had it fixed. Sorry for the late reply. You can either get vs to tetarget it or right click the solution and there should be an option to tetarget there also to win10.18 or so (not on my computer arm). I didn’t add the exception to my code when building.

I found the solution for your problem… It happened to me as well… Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCToolChain.cs Add the following line in line 486: Arguments.Add("/wd4800"); // 4800: Implicit conversion from ‘type’ to bool. Possible information loss