QT_DEPLOY_BIN_DIR
Präfix-relatives Unterverzeichnis für die Bereitstellung von Laufzeit-Binärdateien auf bestimmten Zielplattformen.
Diese Variable wird durch das Skript definiert, dessen Name durch QT_DEPLOY_SUPPORT angegeben wird. Sie sollte ausschließlich im Rahmen der Bereitstellung während der Installation oder einer Regel nach dem Build verwendet werden.
Hinweis: Hierbei handelt es sich um eine Low-Level-Variable der Bereitstellungs-API, die nur in fortgeschrittenen Anwendungsfällen verwendet werden sollte, die nicht durch die übergeordneten API-Befehle wie ` qt_generate_deploy_app_script` abgedeckt sind.
Diese Variable wurde in Qt 6.3 eingeführt.
Projekte sollten in ihren Bereitstellungsskripten „ QT_DEPLOY_BIN_DIR “ verwenden, um zu vermeiden, dass ein bestimmtes Verzeichnis für die Bereitstellung der folgenden Arten von Binärdateien fest codiert wird:
- Ausführbare Dateien auf allen Plattformen.
- DLLs unter Windows.
QT_DEPLOY_BIN_DIR Standardmäßig wird der Wert von ` ${CMAKE_INSTALL_BINDIR} ` (in der Regel ` bin`) verwendet, der vom CMake-Modul `GNUInstallDirs` bereitgestellt wird. Um den Wert von ` QT_DEPLOY_BIN_DIR` zu ändern, muss sichergestellt werden, dass das Projekt ` CMAKE_INSTALL_BINDIR ` festlegt, bevor das Paket ` Core ` gefunden wird.
Der Pfad „ QT_DEPLOY_BIN_DIR “ ist relativ zu „QT_DEPLOY_PREFIX“.
Diese Variable ist bei der Bereitstellung in einem macOS-App-Bundle nicht aussagekräftig und sollte in diesem Szenario nicht verwendet werden.
Beispiel
cmake_minimum_required(VERSION 3.16...3.22)
project(MyThings)
find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()
# Keep the QT_DEPLOY_* references below for the generated script to expand,
# see \l {QTP0008}.
qt_policy(SET QTP0008 NEW)
qt_add_executable(MyApp main.cpp)
set_target_properties(MyApp PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
)
# App bundles on macOS have an .app suffix
if(APPLE)
set(executable_path "$<TARGET_FILE_NAME:MyApp>.app")
else()
set(executable_path "\${QT_DEPLOY_BIN_DIR}/$<TARGET_FILE_NAME:MyApp>")
endif()
# Helper app, not necessarily built as part of this project.
qt_add_executable(HelperApp helper.cpp)
set(helper_app_path "\${QT_DEPLOY_BIN_DIR}/$<TARGET_FILE_NAME:HelperApp>")
# Generate a deployment script to be executed at install time
qt_generate_deploy_script(
TARGET MyApp
OUTPUT_SCRIPT deploy_script
CONTENT "
qt_deploy_runtime_dependencies(
EXECUTABLE \"${executable_path}\"
ADDITIONAL_EXECUTABLES \"${helper_app_path}\"
GENERATE_QT_CONF
VERBOSE
)")
# Omitting RUNTIME DESTINATION will install a non-bundle target to CMAKE_INSTALL_BINDIR,
# which coincides with the default value of QT_DEPLOY_BIN_DIR used above, './bin'.
# Installing macOS bundles always requires an explicit BUNDLE DESTINATION option.
install(TARGETS MyApp HelperApp # Install to CMAKE_INSTALL_PREFIX/bin/MyApp.exe
# and ./binHelperApp.exe
BUNDLE DESTINATION . # Install to CMAKE_INSTALL_PREFIX/MyApp.app/Contents/MacOS/MyApp
)
install(SCRIPT ${deploy_script}) # Add its runtime dependenciesSiehe auch QT_DEPLOY_SUPPORT, QT_DEPLOY_PREFIX, QT_DEPLOY_LIBEXEC_DIR, QT_DEPLOY_LIB_DIR, QT_DEPLOY_PLUGINS_DIR, QT_DEPLOY_QML_DIR und QT_DEPLOY_TRANSLATIONS_DIR.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.