QT_DEPLOY_LIB_DIR
在某些目标平台上部署库的相对子目录。
该变量由名为 QT_DEPLOY_SUPPORT 的脚本来定义。它应在安装或后构建规则期间部署的部分中使用。
注意:这是一个底层部署 API 变量,只能在高层 API 命令未覆盖的复杂用例中使用,例如 qt_generate_deploy_app_script。
此变量自 Qt 6.3 起引入。
项目应在其部署脚本中使用 QT_DEPLOY_LIB_DIR
,以避免硬编码特定的目录部署以下类型的二进制文件:
- 除 Windows 以外的平台上的共享库。
- Windows 上的导入库。
QT_DEPLOY_LIB_DIR
的默认值是 ${CMAKE_INSTALL_LIBDIR}
的值(通常是 lib
或 lib64
),这是由 CMake 的 GNUInstallDirs 模块提供的。为了更改 QT_DEPLOY_LIB_DIR
的值,确保在找到 Core
软件包之前,项目已设置 CMAKE_INSTALL_LIBDIR
。
QT_DEPLOY_LIB_DIR
路径相对于 QT_DEPLOY_PREFIX。
当部署到 macOS 应用程序包时,此变量没有意义,不应在此场景中使用。
示例
cmake_minimum_required(VERSION 3.16...3.22) project(MyThings) # The following CMAKE_INSTALL_*DIR variables are used to initialize their # QT_DEPLOY_*_DIR counterparts. set(CMAKE_INSTALL_BINDIR "mybindir") set(CMAKE_INSTALL_LIBDIR "mylibdir") set(CMAKE_INSTALL_LIBEXECDIR "mylibexecdir") find_package(Qt6 REQUIRED COMPONENTS Core) qt_standard_project_setup() qt_add_executable(MyApp main.cpp) set(deploy_script "${CMAKE_CURRENT_BINARY_DIR}/deploy_MyApp.cmake") file(GENERATE OUTPUT ${deploy_script} CONTENT " set(QT_DEPLOY_PLUGINS_DIR \"mypluginsdir\") set(QT_DEPLOY_QML_DIR \"myqmldir\") set(QT_DEPLOY_TRANSLATIONS_DIR \"i18n\") include(\"${QT_DEPLOY_SUPPORT}\") qt_deploy_runtime_dependencies( EXECUTABLE \"\${QT_DEPLOY_BIN_DIR}/$<TARGET_FILE_NAME:MyApp>\" )") install(SCRIPT ${deploy_script})
另请参阅:QT_DEPLOY_SUPPORT、QT_DEPLOY_PREFIX、QT_DEPLOY_BIN_DIR、QT_DEPLOY_PLUGINS_DIR、QT_DEPLOY_QML_DIR 和 QT_DEPLOY_TRANSLATIONS_DIR。
© 2024 Qt 公司有限公司。括号内包含的文档贡献是各自所有者的版权。此处提供的文档根据自由软件基金会的发布许可的条款(GNU 自由文档许可证版本 1.3)进行许可。Qt 以及相应的商标是芬兰的 Qt 公司在芬兰和其他国家的商标。所有其他商标归其各自所有者所有。