Converting an Android SDL3 C Project to C++ Конвертация C-проекта SDL3 для Android в C++
A guide to updating CMake, Gradle, file extensions, and cleaning build artifacts to migrate an Android SDL3 C project to C++20. Руководство по обновлению CMake, Gradle, расширений файлов и очистке артефактов сборки для миграции C-проекта SDL3 под Android на C++20.
Step 1: Rename Project Folder Шаг 1: Переименование папки проекта
If you copied your project directory (e.g., android-app-sdl3-c), rename the root directory to your new C++ project name:
Если вы скопировали директорию проекта (например, android-app-sdl3-c), переименуйте корневую папку в новое имя C++ проекта:
android-app-sdl3-cpp
Step 2: Rename Source File Шаг 2: Переименование исходного файла
Rename your main source file extension from .c to .cpp:
Переименуйте расширение вашего главного файла с исходным кодом с .c на .cpp:
src/main.c → src/main.cpp
Step 3: Update CMakeLists.txt Шаг 3: Обновление CMakeLists.txt
Update your root CMakeLists.txt to set the project name, standard flags for C++20, and point to src/main.cpp:
Обновите ваш корневой CMakeLists.txt, указав имя проекта, флаги стандарта C++20 и путь к src/main.cpp:
cmake_minimum_required(VERSION 3.21)
project(android-app-sdl3-cpp)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_library(SDL3 SHARED IMPORTED)
set_target_properties(SDL3 PROPERTIES
IMPORTED_LOCATION "C:/libs/sdl3-android/arm64-v8a/lib/libSDL3.so"
)
add_library(app SHARED src/main.cpp)
target_include_directories(app PRIVATE "C:/libs/sdl3-android/arm64-v8a/include")
target_link_libraries(app PRIVATE SDL3)
Step 4: Update build.gradle Шаг 4: Обновление build.gradle
Open android-project/app/build.gradle and append '-DCMAKE_CXX_STANDARD=20' to the CMake arguments:
Откройте android-project/app/build.gradle и добавьте '-DCMAKE_CXX_STANDARD=20' в аргументы CMake:
externalNativeBuild {
cmake {
arguments '-DANDROID_STL=c++_shared', '-DCMAKE_CXX_STANDARD=20'
abiFilters 'arm64-v8a'
}
}
Step 5: Clean Build Artifacts Шаг 5: Очистка артефактов сборки
Delete old build files and CMake caches to ensure a clean build for C++: Удалите старые файлы сборки и кэш CMake, чтобы гарантировать чистую пересборку для C++:
android-project\.gradleandroid-project\buildandroid-project\app\.cxxandroid-project\app\build
Support My Work Поддержать проект
If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.
Sberbank (Russia only) Сбербанк (только для РФ)
Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)
USDT TRC20
Support via Cryptocurrency Поддержка криптовалютой