【问题标题】:Android with OpenMP带有 OpenMP 的 Android
【发布时间】:2016-12-04 18:37:41
【问题描述】:

我正在 支持 NDK 的 Android Studio 2.2.2 中创建新项目。 我正在尝试通过

添加 OpenMP 库
#include <omp.h>

但它不起作用。我也尝试添加:

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

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

有人可以帮我解决问题吗?

【问题讨论】:

  • 在没有显示 enable-libgomp 的 gcc -v 引用的情况下,这是可以预期的。
  • @tim18 你能详细说明一下吗?如果 enable-libgomp 丢失,我该如何将它添加到 gcc ?谢谢
  • 我不知道适用于 Android 的 gcc 在多大程度上支持 OpenMP,但您需要配置和重建您的 Android 目标 GCC
  • 添加了配置选项 --enable-libgomp --enable-threads=posix

标签: android android-ndk openmp


【解决方案1】:

经过小研究,发现this

我必须将我的 Android 工具链从默认 (clang) 更改为 gcc,所以我的 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"
            }
        }
    }

最重要的是带有argumentscppFlags的cmake。那些小事应该能胜任。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 2016-07-27
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多