android studio编译C++问题 RunParameters 这个头文件没找到么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是#include <string>报的错,我改成#include <string.h>,这里不报错了,但是后边使用的地方又报错了 RunParameters.h的第43行是#include <string>?看一下为什么包含不到c++标准的string头文件。 ==============================================多谢,最后,解决的办法是在build.gradle中添加ndk { moduleName "soundtouch" stl "stlport_static" abiFilters "armeabi", "armeabi-v7a" }解决了这个错误原因是,Android Studio并没有用jni目录下的Android.mk和Application.mk去生成它编译的时候的Android.mk(这个文件的路径是: build/ndk/arm/debug/Android.mk)至于Android Studio为什么没有用这两个文件,我现在也没搞清楚,如果哪位解决了,请更新一下,造福大家 这个是需要设置ndk-build的工作路径的,设置为jni目录,这样就会调用自定义的mk文件了:模块下的build.gradle下设置,给个例子:import org.apache.tools.ant.taskdefs.condition.Osapply plugin: 'com.android.library'android { compileSdkVersion 21 buildToolsVersion "21.1.1" defaultConfig { minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "1.0" ndk { moduleName "dexloader" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets.main { jniLibs.srcDir 'src/main/libs' jni.srcDirs = [] //disable automatic ndk-build call } // call regular ndk-build(.cmd) script from app directory task ndkBuild(type: Exec) { if (Os.isFamily(Os.FAMILY_WINDOWS)) { commandLine 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath } else { commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath } } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn ndkBuild } productFlavors { }}dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:21.0.3'}前提是要把ndk的环境变量要配置好,local.properties也不用配置ndk路径了 如何在android模拟器中导入搜狗输入法? 菜菜求教~有关自定义标题栏高度的问题 关于删除RadioButton的文字 如何实现免提功能? Toast 的显示位置能不能修改? android手机联系人的归属地划分问题 新人求教大神,关于安卓编程。 怎么掉用系统邮件 Android问题 android 开发虚拟机 在一个有返回值的方法里使用了子线程,如何返回子线程中的值,如下代码中,我在子线程获取到了address的值,但是这个方法的返回结果是空,该如何解决? 类似与QQ、微信的通信功能大概是怎么实现的?
应该是#include <string>报的错,我改成#include <string.h>,这里不报错了,但是后边使用的地方又报错了
看一下为什么包含不到c++标准的string头文件。
==============================================
多谢,最后,解决的办法是在build.gradle中添加
ndk {
moduleName "soundtouch"
stl "stlport_static"
abiFilters "armeabi", "armeabi-v7a"
}
解决了这个错误
原因是,Android Studio并没有用jni目录下的Android.mk和Application.mk去生成它编译的时候的Android.mk(这个文件的路径是: build/ndk/arm/debug/Android.mk)
至于Android Studio为什么没有用这两个文件,我现在也没搞清楚,如果哪位解决了,请更新一下,造福大家
模块下的build.gradle下设置,给个例子:
import org.apache.tools.ant.taskdefs.condition.Osapply plugin: 'com.android.library'android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
ndk {
moduleName "dexloader"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = [] //disable automatic ndk-build call
}
// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath
} else {
commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath
}
} tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
productFlavors {
}
}dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
}前提是要把ndk的环境变量要配置好,local.properties也不用配置ndk路径了