簡體   English   中英

ASSIMP-Android NDK工具鏈

[英]ASSIMP - Android NDK toolchain

我對ASSIMP Android版的編譯有疑問。

我使用Android NDK(和JNI)在JAVA活動中調用C ++代碼。

Gradle調用我的CMakelist來編譯我的共享庫。 在此CMakelist中,我的目標是.cpp文件和庫子目錄(assimp和glm)。 assimp版本會引發錯誤:“錯誤:找不到-lpthread”

我的問題是:如何編譯ASSIMP,如何在我的Android NDK項目中包含assimp?

對於我的示例項目,我正在使用以下Assimp-gradle buid文件,它對我來說很好用。 一個重要的注意事項:禁用unittest的東西(必須將選項ASSIMP_BUILD_TESTS設置為off),因為assimp中存在有關gtest的pthread支持的錯誤。

android {
    compileSdkVersion 24
    buildToolsVersion '26.0.2'

    defaultConfig {
        applicationId "com.app.kkulling_solutions.assimpviewer"
        minSdkVersion 21
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        externalNativeBuild {
            cmake {
                arguments '-DASSIMP_BUILD_ZLIB=ON -DASSIMP_BUILD_TESTS=OFF'
                cppFlags '-fexceptions -frtti -std=c++11'
            }
        }
        //-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
                'proguard-rules.pro'
        }
    }

    externalNativeBuild {
        cmake {
            path 'src/main/cpp/JNI/CMakeLists.txt'
        }

    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.1.1'
}

如果您還有其他問題,請告訴我!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM