En esta página

qt_añadir_biblioteca

Crea y finaliza una biblioteca.

El comando está definido en el componente Core del paquete Qt6, que puede cargarse de este modo:

find_package(Qt6 REQUIRED COMPONENTS Core)

Este comando se introdujo en Qt 6.2.

Sinopsis

qt_add_library(target
    [STATIC | SHARED | MODULE | INTERFACE | OBJECT]
    [MANUAL_FINALIZATION]
    sources...
)

Si los comandos sin versión están desactivados, utilice qt6_add_library() en su lugar. Admite el mismo conjunto de argumentos que este comando.

Descripción

qt_add_library() es una envoltura alrededor del comando incorporado de CMake add_library(). Realiza las siguientes tareas:

  • Crear un objetivo CMake de un tipo de biblioteca apropiado.
  • Manejar la finalización del objetivo CMake.

Creación de destino

El tipo de biblioteca creada puede especificarse explícitamente con una de las palabras clave STATIC, SHARED, MODULE, INTERFACE o OBJECT, al igual que para add_library(). Si no se especifica ninguna de estas palabras clave, el tipo de biblioteca creada dependerá de cómo se construyó Qt. Si Qt se construyó estáticamente, se creará una biblioteca estática. Si no, se creará una biblioteca compartida. Tenga en cuenta que esto es diferente a cómo funciona el comando add_library() de CMake, donde la variable BUILD_SHARED_LIBS controla el tipo de biblioteca creada. Desde la versión 6.7, el comando qt_add_library() considera BUILD_SHARED_LIBS al decidir el tipo de biblioteca sólo si la variable se establece explícitamente y QTP0003 se establece en NEW.

Cualquier sources proporcionado será pasado a través de la llamada interna a add_library().

Finalización

Después de crear un objetivo, pueden ser necesarios otros pasos de procesamiento o finalización. El proceso de finalización se implementa mediante el comando qt_finalize_target().

La finalización puede ocurrir ya sea como parte de esta llamada o ser diferida a algún momento después de que este comando regrese (pero todavía debe estar en el mismo ámbito de directorio). Cuando se utiliza CMake 3.19 o posterior, la finalización se aplaza automáticamente hasta el final del directorio actual. Esto da a la persona que llama la oportunidad de modificar las propiedades del objetivo creado antes de que se finalice. Cuando se utilizan versiones de CMake anteriores a la 3.19, el aplazamiento automático no está soportado. En ese caso, la finalización se realiza inmediatamente antes de que este comando regrese.

Independientemente de la versión de CMake, se puede utilizar la palabra clave MANUAL_FINALIZATION para indicar que se llamará explícitamente a qt_finalize_target() en otro momento. En general, MANUAL_FINALIZATION no debería ser necesario a menos que el proyecto tenga que soportar CMake 3.18 o anterior.

Ver también qt_finalize_target(), qt_add_executable(), y QTP0003.

© 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.