Проблемы начались, потому что cmake_toolchain_file используется для поиска/установки Vcpkg .cmake file, но при использовании NDK он устанавливается в местоположение файла NDK. Поэтому я добавил include ("c:/users/charl/.vcpkg-clion/vcpkg/scripts/buildsystems/vcpkg.cmake") к файлу cmakelists.txt, чтобы Vcpkg использовался.
Полная ошибка после запуска. \ gradlew.bat installdebug - это: < /p>
Код: Выделить всё
.\gradlew.bat installDebug
> Task :app:buildCMakeDebug[arm64-v8a] FAILED
C/C++: ninja: Entering directory `C:\Users\charl\CLionProjects\Crossplatform\android-project\app\.cxx\Debug\3j4z1g21\arm64-v8a'
C/C++: cmd.exe /C "cd . && C:\Users\charl\AppData\Local\Android\Sdk\ndk\27.0.12077973\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=C:/Users/charl/AppData/Local/Android/Sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fno-limit-debug-info -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--no-undefined-version -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libCrossplatform.so -o ..\..\..\..\build\intermediates\cxx\Debug\3j4z1g21\obj\arm64-v8a\libCrossplatform.so CMakeFiles/Crossplatform.dir/main.cpp.o vcpkg_installed/x64-android/debug/lib/libbx.a vcpkg_installed/x64-android/debug/lib/libbgfx.a vcpkg_installed/x64-android/debug/lib/libbimg.a vcpkg_installed/x64-android/debug/lib/libbimg_decode.a vcpkg_installed/x64-android/debug/lib/libSDL3.a vcpkg_installed/x64-android/debug/lib/libglm.a vcpkg_installed/x64-android/debug/lib/libbx.a C:/Users/charl/AppData/Local/Android/Sdk/ndk/28.0.12916984/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/x86_64-linux-android/21/liblog.so vcpkg_installed/x64-android/debug/lib/libtinyexr.a vcpkg_installed/x64-android/debug/lib/libminiz.a -lm -lOpenSLES -ldl -llog -landroid -lGLESv1_CM -lGLESv2 -latomic -lm && cd ."
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbx.a(amalgamated.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbgfx.a(amalgamated.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_averages_and_directions.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_block_sizes.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_color_quantize.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_color_unquantize.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_compress_symbolic.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_compute_variance.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_decompress_symbolic.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_diagnostic_trace.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_entry.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_find_best_partitioning.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_ideal_endpoints_and_weights.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_image.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_integer_sequence.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_mathlib.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_mathlib_softfloat.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_partition_tables.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_percentile_tables.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_pick_best_endpoint_format.cpp.o) is incompatible with aarch64linux
C/C++: ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
C/C++: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
C/C++: ninja: build stopped: subcommand failed.
[Incubating] Problems report is available at: file:///C:/Users/charl/CLionProjects/Crossplatform/android-project/build/reports/problems/problems-report.html
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.
> com.android.ide.common.process.ProcessException: ninja: Entering directory `C:\Users\charl\CLionProjects\Crossplatform\android-project\app\.cxx\Debug\3j4z1g21\arm64-v8a'
[1/1] Linking CXX shared library ..\..\..\..\build\intermediates\cxx\Debug\3j4z1g21\obj\arm64-v8a\libCrossplatform.so
FAILED: ../../../../build/intermediates/cxx/Debug/3j4z1g21/obj/arm64-v8a/libCrossplatform.so
cmd.exe /C "cd . && C:\Users\charl\AppData\Local\Android\Sdk\ndk\27.0.12077973\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=C:/Users/charl/AppData/Local/Android/Sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_F
ORTIFY_SOURCE=2 -Wformat -Werror=format-security -fno-limit-debug-info -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--no-undefined-version -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libCrossplatform.so -o ..\..\..\..\build\intermediates\cxx\Debug\3j4z1g21\obj\arm64-v8a\libCrossplatform.so CMakeFiles/Crossplatform.dir/main.cpp.o vcpkg_installed/x64-android/d
ebug/lib/libbx.a vcpkg_installed/x64-android/debug/lib/libbgfx.a vcpkg_installed/x64-android/debug/lib/libbimg.a vcpkg_installed/x64-android/debug/lib/libbimg_decode.a vcpkg_installed/x64-android/debug/lib/libSDL3.a vcpkg_installed/x64-android/debug/lib/libglm.a vcpkg_installed/x64-android/debug/lib/libbx.a C:/Users/charl/AppData/Local/Android/Sdk/ndk/28.0.12916984/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/x86_64-linux-android/21/liblog.so vcpkg_installed/x64-android/debug/lib/libtinyexr.a vcpkg_installed/x64-android/debug/lib/libminiz.a -lm -lOpenSLES -ldl -llog -landroid -lGLESv1_CM -lGLESv2 -latomic -lm && cd ."
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbx.a(amalgamated.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbgfx.a(amalgamated.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_averages_and_directions.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_block_sizes.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_color_quantize.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_color_unquantize.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_compress_symbolic.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_compute_variance.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_decompress_symbolic.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_diagnostic_trace.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_entry.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_find_best_partitioning.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_ideal_endpoints_and_weights.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_image.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_integer_sequence.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_mathlib.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_mathlib_softfloat.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_partition_tables.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_percentile_tables.cpp.o) is incompatible with aarch64linux
ld.lld: error: vcpkg_installed/x64-android/debug/lib/libbimg.a(astcenc_pick_best_endpoint_format.cpp.o) is incompatible with aarch64linux
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
C++ build system [build] failed while executing:
@echo off
"C:\\Users\\charl\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1\\bin\\ninja.exe" ^
-C ^
"C:\\Users\\charl\\CLionProjects\\Crossplatform\\android-project\\app\\.cxx\\Debug\\3j4z1g21\\arm64-v8a" ^
Crossplatform
from C:\Users\charl\CLionProjects\Crossplatform\android-project\app
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.12/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 1s
18 actionable tasks: 2 executed, 16 up-to-date
< /code>
И моя интерпретация такова: мои файлы собираются для ARM64, но VCPKG считает, что я использую X64-Android. Я попытался исправить это, установив этот набор (vcpkg_target_triplet "arm64-android" string "vcpkg triplet") GitHub здесь: https://github.com/tasmaniannoob/crossplatform и я использую Clion.
in android-project/gradle.properties Я установил org.gradle.java. Home = C:/Program Files/Java/JDK-21 и в Android-project/local.properties Я установил sdk.dir = c:/users/chral/appdata/local/android/sdk .
Мне нужно было отредактировать файл vcpkg/scripts/toolchains/android.cmake, потому что переменные среды не были переданы, поэтому сценарий не имел набора Android_ndk_home. Я просто жестко закодировал местоположение. Я сделаю отдельный вопрос об этом.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -and-vcpkg
Мобильная версия