最近在做蓝牙mesh项目,下载了Telink Sig Mesh项目源码自己编译,因为依赖了NDk的库,编译的时候cmake一直报错,报错信息都是警告信息,最下面就说了个too many path components
我们知道,android的c++代码需要使用ndk进行编译后才能使用。而ndk又是和编译平台mac和windows或者linux无关的,所以理论上只要在mac编译通过,window也不是问题。
但是在实际使用中,发现还是报错了,出现了too many path components错误。
该错误只会在windows平台出现,最后发现时android的cmake自带的ninja小型编译器的一个bug。
https://github.com/ninja-build/ninja/issues/53
该问题在最新的ninja版本中已经修复。所以我们需要更新我们的ninja版本。
我们只需要在ninja官网下载最新的ninja.exe,替换掉cmake中的ninja.exe即可。