我是 NDK 的新手,也是 JAVA 的新手,所以请多多包涵。 我有 c++ 文件,我想通过 NDK build.gradle 构建它。我的 build.gradle 文件中有以下内容:
defaultConfig {
applicationId "com.example.blabla.blabla"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
moduleName "test"
cFlags "-std=c++11 -fexceptions"
stl "gnustl_shared"
}
}
我在 local.properties 中有这一行:
ndk.dir= pathToMyNDK/AndroidStudio/ndk
在我的一个 C++ 文件中,我有一个这样的 block 定义:
typedef void (^ABCD)(string, string);
和一个接受该类型参数的函数:
void generateAlphabetLetters(ABCD alph){}
当我尝试使用 NDK 构建文件时,出现以下无法解决的错误: '^' 标记前的预期不合格 id
最佳答案
正如编译器告诉您的那样,这是一个语法错误。
typedef void (^ABCD)(string, string);
不是有效的 C++。
您在标准 C++ 中有 lambda。
关于c++ - NDK '^' token 之前的预期不合格 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31510131/