diff --git a/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2019.cs b/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2019.cs index 034d764..7c957ff 100644 --- a/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2019.cs +++ b/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2019.cs @@ -44,6 +44,7 @@ namespace HybridCLR.Editor.BuildProcessors 7. 移除libil2cpp.a 8. Include path add libil2cpp/os/ClassLibraryPAL/brotli/include 9. add external/xxHash + 10. add "#include " to Classes/Prefix.pch */ string pbxprojFile = $"{pathToBuiltProject}/Unity-iPhone.xcodeproj/project.pbxproj"; @@ -62,6 +63,20 @@ namespace HybridCLR.Editor.BuildProcessors "-DIL2CPP_MONO_DEBUGGER_DISABLED", }; ModifyPBXProject(pathToBuiltProject, pbxprojFile, lumpFiles, extraSources, cflags); + AddSystemHeaderToPrefixPch(pathToBuiltProject); + } + + private static void AddSystemHeaderToPrefixPch(string pathToBuiltProject) + { + // 如果不将 stdio.h 添加到 Prefix.pch, zutil.c会有编译错误 + string prefixPchFile = $"{pathToBuiltProject}/Classes/Prefix.pch"; + string fileContent = File.ReadAllText(prefixPchFile, Encoding.UTF8); + if (!fileContent.Contains("stdio.h")) + { + string newFileContent = fileContent + "\n#include \n"; + File.WriteAllText(prefixPchFile, newFileContent, Encoding.UTF8); + UnityEngine.Debug.Log($"append header to {prefixPchFile}"); + } } private static string GetRelativePathFromProj(string path)