Search Issue Tracker
Fixed in 2020.3.42f1
Fixed in 2020.3.X, 2021.3.X, 2022.1.X, 2022.2.X, 2023.1.X, 2023.1.0a19
Votes
6
Found in
2020.3.41f1
2021.3.12f1
2022.1.21f1
2022.2.0b13
2023.1.0a16
Issue ID
UUM-17921
Regression
No
[IL2CPP] Windows builds fails when using VS 2022 17.4.0 Preview
How to reproduce:
1. Download and install Visual Studio 2022 17.4.0 Preview 5.0
2. Open attached project “My Project.zip“, or create an empty project
3. Make sure the IL2CPP is selected as the scripting backend (Project Settings -> Player -> Other Settings -> Scripting Backend)
4. Shouldn't be necessary but can make sure the “Visual Studio preview” install is selected as the External script editor (Edit->Preferences->External Tools -> External Script Editor)
5. Open the Build Settings (Edit > Build Settings…)
6. Build
Expected result: The Player is built successfully
Actual result: The Player build fails with an error message: “Building Library\Bee\artifacts\WinPlayerBuildProgram\ei6vj\6p7s_z_vm6.lump.obj failed”
C:\Program Files\Unity\2023.1.0a16_4a28b8b54318\Data\il2cpp\libil2cpp\utils\Il2CppHashMap.h(71): error C2039: 'hash_compare': is not a member of 'stdext'
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\include\iterator(1426): note: see declaration of 'stdext'
C:\Program Files\Unity\2023.1.0a16_4a28b8b54318\Data\il2cpp\libil2cpp\utils\Il2CppHashMap.h(71): error C2065: 'hash_compare': undeclared identifier
C:\Program Files\Unity\2023.1.0a16_4a28b8b54318\Data\il2cpp\libil2cpp\utils\Il2CppHashMap.h(71): error C2275: 'Key': expected an expression instead of a type
C:\Program Files\Unity\2023.1.0a16_4a28b8b54318\Data\il2cpp\libil2cpp\vm\MetadataCache.cpp(38): error C2976: 'Il2CppReaderWriterLockedHashMap': too few template arguments
C:\Program Files\Unity\2023.1.0a16_4a28b8b54318\Data\il2cpp\libil2cpp\utils\Il2CppHashMap.h(75): note: see declaration of 'Il2CppReaderWriterLockedHashMap'
Reproducible with: 2020.3.41f1, 2021.3.12f1, 2022.1.21f1, 2022.2.0b13, 2023.1.0a16
Tested with: Windows 10 Enterprise
Forum Post where it was reported: [https://forum.unity.com/threads/il2cpp-error-on-building-for-windows.1351589/]
Workaround available here: https://forum.unity.com/threads/workaround-for-building-with-il2cpp-with-visual-studio-2022-17-4.1355570/
Comments (2)
-
wechat_os_Qy0zU5lUkPpFi04bDss7y2xJE
Nov 09, 2022 10:51
A temperate solution to this issue is adding two lines to
IL2CPP\external\google\sparsehash\internal\sparseconfig.h
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include <hash_map>
before
/* The system-provided hash function including the namespace. */
#define SPARSEHASH_HASH HASH_NAMESPACE::hash_compareGood luck !
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note (fix version 2023.1):
Fixed in: 2023.1.0a19
Resolution Note (fix version 2022.2):
Fixed in: 2022.2.0b16
Resolution Note (fix version 2022.1):
Fixed in: 2022.1..23f1
Resolution Note (fix version 2021.3):
Fixed in: 2021.3.14f1
Resolution Note (fix version 2020.3):
Fixed in: 2020.3.42f1