Exportación de vcpkg
Sinopsis
vcpkg export [options] {<package>... | --x-all-installed}
Descripción
Exporta paquetes integrados desde el directorio instalado a un SDK de desarrollador independiente.
export
genera un SDK distribuible independiente (Kit de desarrollo de software) que se puede usar en otra máquina sin adquirir vcpkg por separado. Contiene:
- Los archivos binarios creados previamente para los paquetes seleccionados
- Sus dependencias transitivas
- Archivos de integración, como una cadena de herramientas de CMake o propiedades o destinos de MSBuild
Nota:
El comportamiento de este comando es diferente en modo clásico y modo de manifiesto
El export
comando no instala ningún paquete ni dependencias transitivas. Solo exporta paquetes que ya están instalados.
Consulte Modo de manifiesto o Modo clásico para obtener más detalles.
Modo clásico
En el modo clásico, vcpkg export
acepta argumentos de especificación de paquete triplet calificado (por ejemplo: zlib:x64-windows
)
Para especificar paquetes que se van a exportar, agregue <port name>:<triplet>
argumentos a la línea de comandos.
Por ejemplo, para exportar el sqlite
paquete para x64-windows
y x64-linux
, use:
vcpkg export sqlite:x64-windows sqlite:x64-linux --zip
Este comando exporta los paquetes especificados en formato ZIP. Tanto sqlite:x64-windows
como sqlite:x64-linux
deben instalarse antes de ejecutar vcpkg export
.
Modo de manifiesto
En el modo de manifiesto, el comando exporta todos los paquetes instalados actualmente. El directorio de instalación incluye todos los paquetes declarados en el manifiesto (vcpkg.json
) así como sus dependencias transitivas. Ejecute vcpkg install
antes de usar este comando para asegurarse de que todos los paquetes necesarios están instalados.
En este modo no se pueden especificar paquetes individuales para exportar. El comando funciona en todo el estado instalado como una sola entidad, respetando las dependencias y versiones especificadas en el archivo de manifiesto.
Otra diferencia es el requisito de la --output-dir
opción. Esta opción especifica el directorio donde se almacenarán los paquetes exportados.
Por ejemplo, desde el directorio del manifiesto
vcpkg export --zip --output-dir=.\exports
Exporta todos los paquetes instalados actualmente al .\exports
directorio en un archivo ZIP. La --zip
opción especifica que los paquetes exportados deben comprimirse en un archivo ZIP.
Integración estándar
La mayoría de los formatos de exportación contienen un conjunto estándar de archivos de integración:
- Cadena de herramientas de CMake en
/scripts/buildsystems/vcpkg.cmake
- Propiedades y destinos de MSBuild en
/scripts/buildsystems/msbuild/vcpkg.props
y/scripts/buildsystems/msbuild/vcpkg.targets
- Árbol de instalación en
/
Algunos formatos de exportación difieren de este conjunto estándar; consulte la ayuda de formato individual siguiente para obtener más detalles.
Formatos
Formatos de SDK compatibles oficialmente:
Formatos experimentales del SDK (pueden cambiar o quitarse en cualquier momento):
Directorio sin formato
vcpkg export --raw [options] <package>...
Cree un diseño de directorio sin comprimir en <output-dir>/<output>/
.
Contiene los archivos de integración estándar.
Zip
vcpkg export --zip [options] <package>...
Cree un diseño de directorio comprimido zip en <output-dir>/<output>.zip
.
Contiene los archivos de integración estándar.
7Zip
vcpkg export --7zip [options] <package>...
Cree un diseño de directorio 7zip en <output-dir>/<output>.7z
.
Contiene los archivos de integración estándar.
NuGet
vcpkg export --nuget [options] <package>...
Cree un paquete NuGet en <output-dir>/<nuget-id>.<nuget-version>.nupkg
.
Contiene los archivos de integración estándar, así como la integración adicional de MSBuild para admitir la inclusión en un proyecto de C++ de MSBuild (.vcxproj
) a través del Administrador de paquetes de NuGet. Tenga en cuenta que no se pueden mezclar varios paquetes NuGet generados con export
juntos, solo se usará uno de los paquetes. Para agregar bibliotecas adicionales, debe crear una nueva exportación con el conjunto completo de dependencias.
Dar formato a opciones específicas:
IFW
Nota:
En esta sección se describe una característica experimental de vcpkg que puede cambiar o quitarse en cualquier momento.
vcpkg export --ifw [options] <package>...
Exportar a un instalador basado en IFW.
Dar formato a opciones específicas:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
Chocolatey
Nota:
En esta sección se describe una característica experimental de vcpkg que puede cambiar o quitarse en cualquier momento.
vcpkg export --x-chocolatey [options] <package>...
Exporte un paquete Chocolatey.
Dar formato a opciones específicas:
Prefab
Nota:
En esta sección se describe una característica experimental de vcpkg que puede cambiar o quitarse en cualquier momento.
vcpkg export --prefab [options] <package>...
Exportar al formato prefabricado.
Dar formato a opciones específicas:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
Opciones
Todos los comandos vcpkg admiten un conjunto de opciones comunes.
<package>
Esta es la lista de paquetes integrados de nivel superior que se incluirán en el SDK. Todas las dependencias de estos paquetes también se incluirán para asegurarse de que el SDK resultante es independiente.
Sintaxis del paquete
<port name>:<triplet>
Las referencias de paquete sin un triplet se califican automáticamente mediante el triplete de destino predeterminado.
Nota: <port name>:<triplet>
no se permiten argumentos al usar vcpkg export
en modo de manifiesto.
--x-all-installed
Nota:
En esta sección se describe una característica experimental de vcpkg que puede cambiar o quitarse en cualquier momento.
Exporte todos los paquetes instalados. Esta opción está implícita cuando se usa vcpkg export
en modo de manifiesto.
--dry-run
No realice la exportación, solo imprima el plan de exportación.
--ifw-configuration-file-path=
Especifique la ruta de acceso temporal del archivo para la configuración del instalador.
--ifw-installer-file-path=
Especifique la ruta de acceso del archivo para el instalador exportado.
--ifw-packages-directory-path=
Especifique la ruta de acceso del directorio temporal para los paquetes reempaquetados.
--ifw-repository-directory-path=
Especifique la ruta de acceso del directorio para el repositorio exportado.
--ifw-repository-url=
Especifique la dirección URL del repositorio remoto para el instalador en línea.
--x-maintainer=
Especifique el mantenedor para el paquete chocolatey exportado.
--nuget-description=
Especifica la descripción de salida de los archivos .nupkg de NuGet .
El valor predeterminado es "Exportación de NuGet Vcpkg".
--nuget-id=
Especifica el identificador de salida de los archivos .nupkg de NuGet .
Esta opción invalida la --output
opción específicamente para el exportador de NuGet. Consulte --output
para obtener los valores predeterminados.
--nuget-version=
Especifica la versión de salida de los archivos .nupkg de NuGet .
Tiene como valor predeterminado 1.0.0
.
--output=
Especifica el nombre base de salida.
Cada tipo de SDK usa este nombre base para determinar sus archivos de salida específicos. Consulte la documentación específica del SDK anterior para obtener más información.
Tiene como valor predeterminado vcpkg-export-<date>-<time>
. El uso con scripts de export
debe pasar siempre esta marca para garantizar la salida determinista.
--output-dir=
especifica el directorio de salida.
Todos los archivos del SDK de nivel superior se generarán en este directorio. Esta opción es necesaria en modo de manifiesto. En el modo clásico, este valor es opcional y tiene como valor predeterminado el directorio raíz vcpkg.
--prefab-artifact-id=
Artifact Id es el nombre del proyecto según las especificaciones de Maven.
--prefab-group-id=
GroupId identifica de forma única el proyecto según las especificaciones de Maven.
--prefab-maven
Habilite Maven.
--prefab-min-sdk=
Versión mínima del SDK compatible con Android.
--prefab-target-sdk=
Versión del SDK compatible con destino de Android.
--prefab-version=
La versión es la versión del proyecto según las especificaciones de Maven.
--x-version-suffix=
Especifique el sufijo de versión que se va a agregar para el paquete chocolatey exportado.