【问题标题】:Qt6 Android service with separate ".so" library and CMake带有独立“.so”库和 CMake 的 Qt6 Android 服务
【发布时间】:2022-07-14 16:44:57
【问题描述】:

我有 Qt 6.3 CMake 项目,其中包含两个子目录“app”和“service”,我想将 Android 服务 .so 库包含到结果 APK 中。 使用 qmake-project 我可以在 app.pri 中实现这一点:

contains(ANDROID_TARGET_ARCH, arm64-v8a) {
  release: ANDROID_EXTRA_LIBS = $$OUT_PWD/../service/libservice_arm64-v8a.so
  debug: ANDROID_EXTRA_LIBS = $$OUT_PWD/../service/libservice_arm64-v8a.so
}

我尝试使用 CMake set(QT_ANDROID_EXTRA_LIBS C:/workspace/build-test-Android_Qt_6_3_0_Clang_arm64_v8a-Debug/service/libservice_arm64-v8a.so) 在 app->CMakeLists.txt 并没有效果。

【问题讨论】:

    标签: android cmake qt6


    【解决方案1】:

    发现 QT_ANDROID_EXTRA_LIBS 是“目标属性”,应该通过 set_target_properties() 设置,然后将 .so 添加到结果中。

    set_target_properties(project_name  PROPERTIES 
    QT_ANDROID_EXTRA_LIBS ${CMAKE_CURRENT_BINARY_DIR}/../service/libservice_${ANDROID_ABI}.so)
    

    【讨论】:

    • 您的最终代码在哪里?你是怎么在你的代码中做到这一点的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多