c# - Unity build error for Android when use CMake with Ninja on Mac - Stack Overflow

时间: 2025-01-06 admin 业界

I'm trying to build my Unity project, but I get this error:

[CXX1416] Could not find Ninja on PATH or in SDK CMake bin folders. See the Console for details.

I already have ninja installed, and I have SDK and NDK manually installed.

Complete output:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':unityLibrary:configureCMakeRelWithDebInfo[arm64-v8a]'.
> [CXX1416] Could not find Ninja on PATH or in SDK CMake bin folders.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at .

BUILD FAILED in 17s

 #0 PlatformStacktrace::GetStacktrace(int)
 #1 Stacktrace::GetStacktrace(int)
 #2 DebugStringToFile(DebugStringToFileData const&)
 #3 DebugLogHandler_CUSTOM_Internal_Log(LogType, LogOption, BindingsManagedSpan*, void*)
 #4  (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log_Injected (UnityEngine.LogType,UnityEngine.LogOption,UnityEngine.Bindings.ManagedSpanWrapper&,intptr)
 #5  (Mono JIT Code) [DebugLogHandler.cs:10] UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
 #6  (Mono JIT Code) UnityEditor.Android.PostProcessAndroidPlayer:PostProcess (UnityEditor.Modules.BuildPostProcessArgs,AndroidPlayerBuildProgram.Data.AndroidPlayerBuildProgramOutput)
 #7  (Mono JIT Code) UnityEditor.Android.AndroidBuildPostprocessor:PostProcess (UnityEditor.Modules.BuildPostProcessArgs,UnityEditor.BuildProperties&)
 #8  (Mono JIT Code) [PostprocessBuildPlayer.cs:287] UnityEditor.PostprocessBuildPlayer:Postprocess (UnityEditor.BuildTarget,int,string,string,string,UnityEditor.BuildOptions,UnityEditor.RuntimeClassRegistry,UnityEditor.Build.Reporting.BuildReport)
 #9  (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_int_int_object_object_object_int_object_object (object,intptr,intptr,intptr)
 #10 mono_jit_runtime_invoke
 #11 do_runtime_invoke
 #12 mono_runtime_invoke
 #13 scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool)
 #14 ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
 #15 Scripting::UnityEditor::PostprocessBuildPlayerProxy::Postprocess(int, int, core::basic_string<char, core::StringStorageDefault<char>> const&, core::basic_string<char, core::StringStorageDefault<char>> const&, core::basic_string<char, core::StringStorageDefault<char>> const&, int, ScriptingObjectPtr, ScriptingObjectPtr, ScriptingExceptionPtr*)
 #16 DoBuildPlayer(BuildPlayerSetup const&, core::vector<EditorSceneBackup, core::allocator<EditorSceneBackup, 0ul>>&, core::basic_string<char, core::StringStorageDefault<char>>, core::vector<core::basic_string<char, core::StringStorageDefault<char>>, core::allocator<core::basic_string<char, core::StringStorageDefault<char>>, 0ul>> const&, bool, BuildReporting::BuildReport&, BuildReporting::BuiltAssetBundleInfo*, core::basic_string<char, core::StringStorageDefault<char>> const&)
 #17 BuildPlayerStep(BuildPlayerSetup const&, BuildReporting::BuildReport&)
 #18 BuildPlayer(BuildPlayerSetup const&, BuildReporting::BuildReport&)
 #19 BuildPipeline_CUSTOM_BuildPlayerInternalNoCheck(ScriptingBackendNativeArrayPtrOpaque*, BindingsManagedSpan*, BindingsManagedSpan*, BuildTargetPlatformGroup, BuildTargetPlatform, int, BuildPlayerOptions, ScriptingBackendNativeArrayPtrOpaque*, unsigned char)
 #20  (Mono JIT Code) (wrapper managed-to-native) UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck_Injected (string[],UnityEngine.Bindings.ManagedSpanWrapper&,UnityEngine.Bindings.ManagedSpanWrapper&,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,int,UnityEditor.BuildOptions,string[],bool)
 #21  (Mono JIT Code) UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck (string[],string,string,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,int,UnityEditor.BuildOptions,string[],bool)
 #22  (Mono JIT Code) [BuildPlayerWindowBuildMethods.cs:169] UnityEditor.BuildPlayerWindow/DefaultBuildMethods:BuildPlayer (UnityEditor.BuildPlayerOptions)
 #23  (Mono JIT Code) [BuildPlayerWindowBuildMethods.cs:97] UnityEditor.BuildPlayerWindow:CallBuildMethods (bool,UnityEditor.BuildOptions)
 #24  (Mono JIT Code) [BuildProfileModuleUtil.cs:208] UnityEditor.Build.Profile.BuildProfileModuleUtil:CallInternalBuildMethods (bool,UnityEditor.BuildOptions)
 #25  (Mono JIT Code) [IMGUIContainer.cs:720] UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,System.Action,bool)
 #26  (Mono JIT Code) [IMGUIContainer.cs:690] UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,System.Action,bool)
 #27  (Mono JIT Code) [IMGUIContainer.cs:683] UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,bool)
 #28  (Mono JIT Code) [IMGUIContainer.cs:632] UnityEngine.UIElements.IMGUIContainer:SendEventToIMGUI (UnityEngine.UIElements.EventBase,bool,bool)
 #29  (Mono JIT Code) [EventDispatchUtilities.cs:578] UnityEngine.UIElements.EventDispatchUtilities:DispatchToCapturingElementOrElementUnderPointer (UnityEngine.UIElements.EventBase,UnityEngine.UIElements.BaseVisualElementPanel,int,UnityEngine.Vector2)