Vcpkg ayuda a manejar bibliotecas de C y C++ en Windows, Linux y MacOS. Esta herramienta y ecosistema se encuentran en constante evolución ¡Siempre apreciamos contribuciones nuevas!
Si nunca ha usado Vcpkg antes, o si está intentando aprender a usar vcpkg, consulte nuestra sección Primeros pasos para iniciar a usar Vcpkg.
Para una descripción corta de los comandos disponibles,
una vez instalado Vcpkg puede ejecutar vcpkg help
, o
vcpkg help [comando]
para obtener ayuda específica de un comando.
- ports en: vcpkg GitHub
- este programa en: vcpkg-tool GitHub
- Slack, en el canal #vcpkg
- Discord: #include <C++>, en el canal #🌏vcpkg
- Docs: Documentación
- Vcpkg
- Seguridad
Antes de iniciar, siga la guía ya sea para Windows, o macOS y Linux dependiendo del SO que use.
Para más información, ver Instalando y Usando Paquetes. Si una biblioteca que necesita no está presente en el catálogo de vcpkg, puede abrir una incidencia en el repositorio de GitHub donde el equipo de vcpkg y la comunidad pueden verlo, y potencialmente hacer un port a vcpkg.
Después de tener Vcpkg instalado y funcionando, puede que desee añadir completado con tab en su terminal.
Finalmente, si está interesado en el futuro de Vcpkg, puede ver la guía de archivos de manifiesto! esta es una característica experimental y es probable que tenga errores, así que se recomienda revisar y crear incidencias!
Prerrequisitos:
- Windows 7 o superior
- Git
- Visual Studio 2015 Update 3 o superior con el paquete Inglés de Visual Studio.
Primero, descargue y compile vcpkg; puede ser instalado en cualquier lugar, pero por lo general recomendamos usar vcpkg
como submódulo, asi el repositorio que lo consume puede permanecer autónomo.
Alternativamente vcpkg puede ser instalado globalmente;
recomendamos que sea en un lugar como C:\src\vcpkg
o C:\dev\vcpkg
,
ya que de otra forma puede encontrarse problemas de ruta para algunos sistemas de port.
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
Para instalar las bibliotecas para su proyecto, ejecute:
> .\vcpkg\vcpkg install [paquetes a instalar]
también puede buscar bibliotecas que necesite usar el comando search
:
> .\vcpkg\vcpkg search [término de búsqueda]
Para poder utilizar vcpkg con Visual Studio, ejecute el siguiente comando (puede requerir privilegios de administrador):
> .\vcpkg\vcpkg integrate install
Después de esto, puede crear un nuevo proyecto que no sea de CMake(MSBuild) o abrir uno existente. Todas las bibliotecas estarán listas para ser incluidas y usadas en su proyecto sin configuración adicional.
Si está usando CMake con Visual Studio, continúe aquí.
Para utilizar Vcpkg con CMake sin un IDE, puede utilizar el archivo de herramientas incluido:
> cmake -B [directorio de compilación] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake"
> cmake --build [directorio de compilación]
Con CMake, todavía necesitara find_package
y las configuraciones adicionales de la biblioteca.
Revise la Sección de Cmake para más información,
incluyendo el uso de CMake con un IDE.
Prerrequisitos para Linux:
Prerrequisitos para macOS:
Primero, descargue y compile vcpkg, puede ser instalado donde lo desee, pero recomendamos usar vcpkg como un submodulo.
$ git clone https://github.com/microsoft/vcpkg
$ ./vcpkg/bootstrap-vcpkg.sh
Para instalar las bibliotecas para su proyecto, ejecute:
$ ./vcpkg/vcpkg install [paquetes a instalar]
Nota: por defecto se instalarán las bibliotecas x86, para instalar x64, ejecute:
> .\vcpkg\vcpkg install [paquete a instalar]:x64-windows
O si desea instalar varios paquetes:
> .\vcpkg\vcpkg install [paquetes a instalar] --triplet=x64-windows
También puede buscar las bibliotecas que necesita con el subcomando search
:
$ ./vcpkg/vcpkg search [término de búsqueda]
Para usar vcpkg con CMake, tiene que usar el siguiente archivo toolchain:
$ cmake -B [directorio de compilación] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake"
$ cmake --build [directorio de compilación]
Con CMake, todavía necesitara find_package
y las configuraciones adicionales de la biblioteca.
Revise la Sección de CMake
para más información en cómo aprovechar mejor Vcpkg con CMake,
y CMake tools para VSCode.
Para cualquier otra herramienta, visite la [guía de integración][getting-started:integration].
Según las distribuciones de Linux, hay diferentes paquetes que necesitará instalar:
- Debian, Ubuntu, popOS, y otra distribución basada en Debian:
$ sudo apt-get update
$ sudo apt-get install build-essential tar curl zip unzip
- CentOS
$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7
$ scl enable devtoolset-7 bash
Para cualquier otra distribución, asegúrese que dispone de g++ 6 o superior. Si desea añadir instrucción para una distribución específica, cree un pull request
En macOS 10.15, solo tiene que ejecutar el siguiente comando en la terminal:
$ xcode-select --install
Luego seguir los pasos que aparecerán en las ventanas que se muestran.
Posteriormente podrá compilar vcpkg junto con la guía de inicio rápido
¡Si está usando Vcpkg con CMake, lo siguiente puede ayudar!
Agregando lo siguiente al espacio de trabajo settings.json
permitirá que
CMake Tools use automáticamente Vcpkg para las bibliotecas:
{
"cmake.configureSettings": {
"CMAKE_TOOLCHAIN_FILE": "[raíz de vcpkg]/scripts/buildsystems/vcpkg.cmake"
}
}
Abra el editor de Ajustes de CMake, bajo la sección CMake toolchain file
,
posteriormente agregue al path el archivo de cadena de herramientas de Vcpkg:
[raíz de vcpkg]/scripts/buildsystems/vcpkg.cmake
Abra los ajustes de Cadena de Herramientas (Toolchains)
(File > Settings en Windows y Linux, Clion > Preferences en macOS),
y entre en la sección de ajustes de CMake (Build, Execution, Deployment > CMake).
Finalmente, en CMake options
, agregue la línea siguiente:
-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake
Desafortunadamente, tendrá que hacerlo para cada perfil.
Cuando este usando Vcpkg como un submódulo para su proyecto,
puede agregar lo siguiente as su CMakeLists,txt antes de la primera llamada a project()
,
en vez de pasar CMAKE_TOOLCHAIN_FILE
a la invocación de CMake.
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake"
CACHE STRING "Vcpkg toolchain file")
Esto permitirá a las personas no usar Vcpkg,
indicando el CMAKE_TOOLCHAIN_FILE
directamente,
sin embargo, hará el proceso de configuración y compilación más sencillo.
Así que desea ver cómo será el futuro de Vcpkg! realmente lo apreciamos. Sin embargo, primero una advertencia: el soporte de archivos de manifiesto aún está en beta, aun así la mayoría debería funcionar, pero no hay garantía de esto y es muy probable que encuentre uno o más bugs mientras use Vcpkg en este modo. Adicionalmente, es probablemente que se rompan comportamientos antes de que se pueda considerar estable, así que está advertido. Por favor Abra un Problema si encuentra algún error
Primero, instale vcpkg normalmente para Windows o Unix. Puede que desee instalar Vcpkg en un lugar centralizado, ya que el directorio existe localmente, y está bien ejecutar múltiples comandos desde el mismo directorio de vcpkg al mismo tiempo.
Luego, se requiere activar la bandera de característica manifests
en vcpkg agregando
manifests
a los valores separados por coma en la opción --feature-flags
,
o agregándole en los valores separados por coma en la variable de entorno VCPKG_FEATURE_FLAGS
también puede que desee agregar Vcpkg al PATH
.
Luego, todo lo que hay que hacer es crear un manifiesto;
cree un archivo llamado vcpkg.json
, y escriba lo siguiente:
{
"name": "<nombre de su proyecto>",
"version-string": "<versión de su proyecto>",
"dependencies": [
"abseil",
"boost"
]
}
Las bibliotecas serán instaladas en el directorio vcpkg_installed
,
en el mismo directorio que su vcpkg.json
.
Si puede usar el regular conjunto de herramientas de CMake,
o mediante la integración de Visual Studio/MSBuild,
este instalará las dependencias automáticamente,
pero necesitará ajustar VcpkgManifestEnabled
en On
para MSBuild.
Si desea instalar sus dependencias sin usar CMake o MSBuild,
puede usar un simple vcpkg install --feature-flags=manifests
Para más información, revise la especificación de manifiesto
vcpkg
soporta autocompletado para los comandos, nombres de paquetes,
y opciones, tanto en PowerShell como en bash.
para activar el autocompletado en la terminal de elección ejecute:
> .\vcpkg integrate powershell
o
$ ./vcpkg integrate bash # o zsh
según la terminal que use, luego reinicie la consola.
ver la documentación para tutoriales específicos, incluyendo instalando y usando un paquete, agregando un nuevo paquete desde un archivo comprimido, agregando un nuevo paquete desde un repositorio en GitHub.
Nuestra documentación también esta disponible en nuestro sitio web vcpkg.io. Si necesita ayuda puede crear un incidente. ¡Apreciamos cualquier retroalimentación!
Ver un video de demostración de 4 minutos.
Vcpkg es un proyecto de código abierto, y está construido con sus contribuciones. Aquí hay unas de las maneras en las que puede contribuir:
- Creando Incidencias en vcpkg o paquetes existentes
- Creando Correcciones y Nuevos Paquetes
Por favor visite nuestra Guía de Contribución para más detalles.
Este proyecto ha adoptado el Código de Conducta de Microsoft de Código Abierto. Para más información ver Preguntas frecuentes del Código de Conducta o envíe un correo a opencode@microsoft.com con cualquier pregunta adicional o comentarios.
El código en este repositorio se encuentra licenciado mediante la Licencia MIT.
Las bibliotecas proveídas por los ports
están licenciadas mediante los terminos de los autores originales.
Donde estén disponibles, vcpkg almacena las licencias asociadas en la siguiente ubicación installed/<triplet>/share/<port>/copyright
.
La mayoría de los ports
en vcpkg construyen las bibliotecas usando su sistema de compilación preferido
por los autores originales de las bibliotecas, y descargan el código fuente asi como las herramientas de compilación
de sus ubicaciones de distribucion oficiales. Para aquellos que usan un firewall, el acceso dependerá de cuales ports
están siendo instalados. Si tiene que instalarlos en un entorno aislado, puede instalarlos previamente en un entorno
no aislado, generando un caché del paquete compartido con el entorno aislado.
vcpkg recolecta datos de uso para mejorar su experiencia. La información obtenida por Microsoft es anónima. puede ser dado de baja de la telemetría realizando lo siguiente:
- ejecutar el script
bootstrap-vcpkg
con el parametro-disableMetrics
- agregar el parametro
--disable-metrics
a vcpkg en la línea de comandos - agregar la variable de entorno
VCPKG_DISABLE_METRICS
Se puede leer más sobre la telemetría de vcpkg en https://learn.microsoft.com/vcpkg/about/privacy.