1
我在中创建新项目,并且支持NDK。我试图通过Android与OpenMP
#include <omp.h>
添加OpenMP库,但它不工作。我也尝试添加:
cFlags " -fopenmp" /or/ cppFlags " -fopenmp"
但它返回生成命令失败错误。之前有Android.mk文件,但现在我只有CMakeLists.txt没有任何标志。
有人能帮我解决问题吗?
我在中创建新项目,并且支持NDK。我试图通过Android与OpenMP
#include <omp.h>
添加OpenMP库,但它不工作。我也尝试添加:
cFlags " -fopenmp" /or/ cppFlags " -fopenmp"
但它返回生成命令失败错误。之前有Android.mk文件,但现在我只有CMakeLists.txt没有任何标志。
有人能帮我解决问题吗?
经过小范围的研究,我发现了this。
我只好从默认(铛),以GCC改变我的Android工具链,所以我的build.gradle文件看起来像这样:
defaultConfig {
applicationId "your.package.com"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
arguments "-DANDROID_TOOLCHAIN=gcc"
cppFlags "-std=c++11 -fopenmp"
}
}
}
,最重要的是用的CMake参数和cppFlags。那些小事应该做这份工作。
在没有gcc -v引用显示enable-libgomp这是可以预料的。 – tim18
@ tim18请你详细说明一下吗?如果enable-libgomp缺失,我该如何将它添加到gcc?谢谢 – RonTLV
我不知道gcc for Android支持OpenMP的程度,但是您需要配置和重建您的Android目标GCC – tim18