2016-12-04 71 views
1

我在中创建新项目,并且支持NDK。我试图通过Android与OpenMP

#include <omp.h> 

添加OpenMP库,但它不工作。我也尝试添加:

cFlags " -fopenmp" /or/ cppFlags " -fopenmp" 

但它返回生成命令失败错误。之前有Android.mk文件,但现在我只有CMakeLists.txt没有任何标志。

有人能帮我解决问题吗?

+1

在没有gcc -v引用显示enable-libgomp这是可以预料的。 – tim18

+0

@ tim18请你详细说明一下吗?如果enable-libgomp缺失,我该如何将它添加到gcc?谢谢 – RonTLV

+1

我不知道gcc for Android支持OpenMP的程度,但是您需要配置和重建您的Android目标GCC – tim18

回答

3

经过小范围的研究,我发现了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。那些小事应该做这份工作。