CMake для Android: как указать API таргетинга?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 CMake для Android: как указать API таргетинга?

Сообщение Anonymous »

У меня есть проект CMake, в котором CMakeLists.txt содержит:

Код: Выделить всё

target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE
-target aarch64-linux-android10000
)
Когда я запускаю cmake как:

Код: Выделить всё

cmake -S xxx -B yyy \
-DCMAKE_SYSTEM_NAME="Android" \
-DCMAKE_ANDROID_ARCH="arm64" \
-DCMAKE_ANDROID_ARCH_ABI="arm64-v8a" \
-DCMAKE_ANDROID_NDK=$NDK \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_STL=c++_static \
-DSKIP_TESTS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON  && \
cmake выдает следующее сообщение (среди других сообщений):

Код: Выделить всё

-- Android: Targeting API '21' with architecture 'arm64', ABI 'arm64-v8a', and processor 'aarch64'
Здесь мы видим Targeting API '21'.
Затем я запускаю make и вижу этот clang++ вызывается с параметрами --target=aarch64-none-linux-android21 ... $(CXX_FLAGS), где $(CXX_FLAGS) содержит -target aarch64-linux-android10000.< /p>
Основной вопрос: как указать API таргетинга, чтобы cmake выдавал следующее сообщение:

Код: Выделить всё

-- Android: Targeting API '10000' with architecture 'arm64', ABI 'arm64-v8a', and processor 'aarch64'
и поэтому clang++ вызывается с помощью --target=aarch64-linux-android10000 (а не --target=aarch64-none-linux-android21< /code>)?

Дополнительный вопрос: что означает 10000 в тройном aarch64-linux-android10000?

Подробнее здесь: https://stackoverflow.com/questions/786 ... geting-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»