我花了太长时间在这上面了,所以在这里发出来,以防其他人也遇到这个问题。
构建Android时clang++找不到,直接失败。
奇怪的是,文件实际上是存在的,如果你去找的话。结果是它是一个悬垂的符号连接——它指向NDK目录内的android-ndk-r27c/文件夹,但是那个文件夹不存在。
Unity Hub只是将NDK内容直接提取到NDK/文件夹内,而不创建子文件夹,所有符号连接都是硬编码,期待它存在。
通过Unity Hub重新安装Android模块并没有什么效果,每次都得到相同的错误结果。
实际clang二进制文件(clang-18)正好在bin文件夹里,通过破碎的符号连接链无法到达。修复方法就是直接指向它:
```bash
NDK_BIN=~/Unity/Hub/Editor/6000.3.16f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin
rm $NDK_BIN/clang $NDK_BIN/clang++
ln -s $NDK_BIN/clang-18 $NDK_BIN/clang
ln -s $NDK_BIN/clang-18 $NDK_BIN/clang++
```
评论 (0)