You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt6.8.1项目从qmake迁移CMake时ANDROID_EXTRA_LIBS配置报错

Qt 6.8.1迁移CMake配置QT_ANDROID_EXTRA_LIBS参数错误解决方法

你的配置出错了,问题出在CMake多值属性的写法上:

CMake的set_target_properties要求,当一个属性需要多个值时,必须用分号分隔,而不是空格。你参考的Qt文档示例用空格的写法容易误导人,实际CMake会把空格后的第二个路径识别成新的属性名,导致参数数量不符合要求,触发报错。

正确的配置写法有两种:

写法一:直接用分号分隔路径

set_target_properties(SamsungRC PROPERTIES
    QT_ANDROID_EXTRA_LIBS "ssl/android/arm64-v8a/libcrypto.so;ssl/android/arm64-v8a/libssl.so"
)

写法二:先通过变量存储多路径(更清晰)

推荐用CMAKE_CURRENT_SOURCE_DIR替代qmake的$$PWD,确保路径在CMake环境下正确解析:

# 先定义包含所有额外库的变量
set(ANDROID_EXTRA_LIBS
    "${CMAKE_CURRENT_SOURCE_DIR}/ssl/android/arm64-v8a/libcrypto.so"
    "${CMAKE_CURRENT_SOURCE_DIR}/ssl/android/arm64-v8a/libssl.so"
)

# 给目标设置属性
set_target_properties(SamsungRC PROPERTIES
    QT_ANDROID_EXTRA_LIBS "${ANDROID_EXTRA_LIBS}"
)

这样修改后,CMake就能正确识别多个额外库的路径,解决参数数量错误的问题。

内容的提问来源于stack exchange,提问作者Fausto01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:14:56