Compartir a través de


Bibliotecas estáticas (C++/CX)

Una biblioteca estática que se usa en una aplicación de la Plataforma universal de Windows (UWP) puede contener un código en C++ conforme a las normas ISO, incluyendo los tipos STL y también llama a las API de Win32 no excluidas de la plataforma de aplicaciones de Windows Runtime. Una biblioteca estática usa componentes de Windows Runtime y puede crear componentes de Windows Runtime con ciertas restricciones.

Crear bibliotecas estáticas

Las instrucciones para crear un proyecto varían en función de la versión de Visual Studio que esté instalada. Para ver la documentación de su versión preferida de Visual Studio, use el control de selector Versión. Se encuentra en la parte superior de la tabla de contenido de esta página.

Crear una biblioteca estática de UWP en Visual Studio

  1. En la barra de menús, seleccione Archivo>Nuevo>Proyecto para abrir el cuadro de diálogo Crear nuevo proyecto.

  2. En la parte superior del cuadro de diálogo, establezca Lenguaje en C++, establezca Plataforma en Windows y establezca Tipo de proyecto en UWP.

  3. En la lista filtrada de los tipos de proyecto, elija Biblioteca estática (Windows Universal - C++/CX) y después elija Siguiente. En la página siguiente, nombre el proyecto y especifique la ubicación del proyecto si lo desea.

  4. Elija el botón Crear para crear el proyecto.

Para crear una biblioteca estática para UWP en Visual Studio 2017 o Visual Studio 2015

  1. En la barra de menús, elija Archivo>Nuevo>Proyecto. En Visual C++>Windows Universal elija Biblioteca estática (Windows Universal).

  2. En el Explorador de soluciones, abra el menú contextual del proyecto y, a continuación, elija Propiedades. En el cuadro de diálogo Propiedades, en la página Propiedades de configuración>C/C++, establezca Consumir extensión de Windows Runtime en Sí (/ZW).

Cuando se compile una nueva biblioteca estática, si se llama a una API de Win32 excluida para las aplicaciones de UWP, el compilador producirá el error C3861, "No se encuentra el identificador". Para buscar un método alternativo admitido para Windows Runtime, consulte Alternativas para las API de Windows en las aplicación para UWP.

Si agregas un proyecto de biblioteca estática de C++ a una solución de aplicación para UWP, es posible que tengas que actualizar la configuración de propiedades del proyecto de biblioteca para que la propiedad de soporte técnico de UWP esté establecida en Sí. Sin este valor de configuración, el código se compila y se vincula, pero se produce un error si se intenta comprobar la aplicación para Microsoft Store. La biblioteca estática se debe compilar con la misma configuración del compilador que el proyecto que la utiliza.

Si utilizas una biblioteca estática que crea clases ref públicas, clases de interfaz públicas o clases de valor públicas, el vinculador produce esta advertencia:

advertencia LNK4264: almacenamiento de un archivo objeto compilado con /ZW en una biblioteca estática; tenga en cuenta que, al crear tipos de Windows Runtime, no se recomienda la vinculación con una biblioteca estática que contenga metadatos de Windows Runtime.

Se puede omitir la advertencia sin ningún problema solo si la biblioteca estática no está produciendo componentes de Windows Runtime que se usan fuera de la propia biblioteca. Si la biblioteca no consume un componente que define, el enlazador puede optimizar la implementación aunque los metadatos públicos contengan la información de tipo. Esto significa que los componentes públicos de una biblioteca estática se compilarán pero no se activarán en tiempo de ejecución. Por este motivo, los componentes de Windows Runtime previstos para su uso por otros componentes o aplicaciones deben implementarse en una biblioteca de vínculos dinámicos (DLL).

Consulte también

Subprocesamiento y serialización