web-dev-qa-db-ja.com

アップグレード後のエラーAndroid Studio NDK:CMAKE_C_COMPILERおよびCMAKE_CXX_COMPILERが設定されていません

Android Studio NDK、CMAKEに関連するエラーのためにアプリをビルドできません(アプリケーションは1つのc ++ファイルを使用します)。エラー行は次のとおりです。

Build command failed.
Error while executing process C:\Users\AnimallTag\AppData\Local\Android\sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {-HC:\Projetos\Git\at65\app -BC:\Projetos\Git\at65\app\.externalNativeBuild\cmake\debug\mips -GAndroid Gradle - Ninja -DANDROID_ABI=mips -DANDROID_NDK=C:\Users\AnimallTag\AppData\Local\Android\sdk\ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Projetos\Git\at65\app\build\intermediates\cmake\debug\obj\mips -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=C:\Users\AnimallTag\AppData\Local\Android\sdk\cmake\3.6.4111459\bin\ninja.exe -DCMAKE_TOOLCHAIN_FILE=C:\Users\AnimallTag\AppData\Local\Android\sdk\ndk-bundle\build\cmake\Android.toolchain.cmake -DANDROID_PLATFORM=Android-14}
 (include)   CMakeLists.txt 
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

その問題を解決するのに役立つ提案はありますか? NDKまたはAndroidインストールできるStudioの以前のバージョン...

Error screen in Android Studio

9
Nathan Imamura

私はそれを修正することができました。私が気づいたことの1つは、Android NDKの変更ログであり、armeabi、MIPS、およびMIPS64 ABIのサポートはもうないということです。そのため、build.gradleファイルでABIをフィルタリングしました。

Android {
    defaultConfig {
        externalNativeBuild {
            cmake {
                abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
            }
        }
    }
}

その後、Gradleを同期し、Android StudioからGradleを更新するように促されました。アプリをデプロイできましたが、何が修正されたかわかりません。エラーは関連していなかったようです。 CMAKE_C_COMPILERでもCMAKE_CXX_COMPILERでも、どこかで起こっていて、ビルドが失敗したときに、それらの変数を見つけることができませんでした。

10
Nathan Imamura

NDKの後最近の更新CMAKEは壊れていました

何も機能しませんでしたが、https://developer.Android.com/ndk/downloads/older_releases からNDKをダウンロードして、NDKをダウングレードしました

local.propertiesのNDK DIR PATHを

ndk.dir=/Users/kathan/Library/Android/sdk/Android-ndk-r17c

そして、Gradleを同期するだけです。

チャームのように働いた

5
Kathan Shah

私の場合、NDK用の2つのインストールフォルダーがありました。 local.propertiesを正しいディレクトリを指すように更新する必要がありました。 NDKとbuild.gradle(上記の回答を参照)を更​​新し、再同期してからすべてが正常に機能しました。

1
user1506104

ndk-bundleをインストールした後、ちょっと似たような問題に直面しました。エラーは次の方法で解決されました。

build.gradleファイル(モジュールレベル)に次のコードスニペットを追加します。

Android {
   defaultConfig {
       ndk {
            abiFilters "armeabi-v7a", "x86"
        }

        externalNativeBuild {
            cmake {
                abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
            }
        }
      }
}

注: build.gradleファイルにこの種のコードが既にある場合は、ここで言及するものの代わりに余分なabiFiltersがないことを確認してください。

また、追加したことを確認してください。
distributionUrl = https://services.gradle.org/distributions/gradle-4.6-all.Zip

in gradle/wrapper/gradle-wrapper.propertiesファイル。

ありがとう!ハッピーコーディング:)

0
Monir Zzaman