En esta página

QT_DEPLOY_BIN_DIR

Subdirectorio relativo al prefijo para desplegar los binarios de tiempo de ejecución en algunas plataformas de destino.

Esta variable es definida por el script nombrado por QT_DEPLOY_SUPPORT. Sólo debe utilizarse como parte del despliegue durante la instalación o una regla post-construcción.

Nota: Esta es una variable API de despliegue de bajo nivel, y sólo debe utilizarse en casos de uso avanzado que no están cubiertos por los comandos API de alto nivel, como qt_generate_deploy_app_script.

Esta variable se introdujo en Qt 6.3.

Los proyectos deben utilizar QT_DEPLOY_BIN_DIR en sus scripts de despliegue para evitar la codificación de un directorio concreto en el que desplegar los siguientes tipos de binarios:

  • Ejecutables en todas las plataformas.
  • DLL en Windows.

QT_DEPLOY_BIN_DIR El valor predeterminado es ${CMAKE_INSTALL_BINDIR} (normalmente bin), proporcionado por el módulo GNUInstallDirs de CMake. Para cambiar el valor de QT_DEPLOY_BIN_DIR, asegúrese de que el proyecto establece CMAKE_INSTALL_BINDIR antes de encontrar el paquete Core.

La ruta QT_DEPLOY_BIN_DIR es relativa a QT_DEPLOY_PREFIX.

Esta variable no es significativa cuando se despliega en un paquete de aplicaciones macOS y no debe utilizarse para ese escenario.

Ejemplo

cmake_minimum_required(VERSION 3.16...3.22)
project(MyThings)

find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()

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 dependencies

Ver también QT_DEPLOY_SUPPORT, QT_DEPLOY_PREFIX, QT_DEPLOY_LIBEXEC_DIR, QT_DEPLOY_LIBIB_DIR, QT_DEPLOY_PLUGINS_DIR, QT_DEPLOY_QML_DIR, y 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.