Скомпилировать программу C ++ на Android: неопределенная функция assert - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь скомпилировать свою программу на C ++ на Android, но она не скомпилируется, потому что assert не определено.

Я нашел несколько подсказок в Интернете, но ни один из них не сработал:

Я установил APP_OPTIM=debug в myApplication.mk

Я установил NDK_DEBUG=1 через переопределение параметров, например,

externalNativeBuild {
  ndkBuild {
    arguments "NDK_DEBUG:=1"
  }
}

Я установил атрибут android:debuggable="true" в своем документе манифеста Android.

Я установил типы сборки и переключил debuggable в true и false

buildTypes { 
    release {
        debuggable true
        ...
    }
    debug {
        debuggable true
        ...
    }
}

Я не знаю, что еще я могу сделать. Assert все еще не определен. Я должен #define assert ; пустой оператор для компиляции. Я хочу сделать это правильно.

1 Ответ

0 голосов
/ 18 апреля 2019

Я также использую CMake и могу использовать assert.

enter image description here

Я бы предложил вам попробовать создать новый проект из android-студии 'Файл-> Новый проект-> Выбрать проект (прокрутить вниз и выбрать Native C ++) -> Далее-> Далее-Завершить ". Это создаст приложение для Android с нативным компонентом. измените файл .cpp собственного компонента, чтобы использовать assert (включая assert.h), и посмотрите, работает ли он.

Также проверьте, поможет ли этот пост решить вашу проблему. https://stackoverflow.com/a/9144080/4181904

...