Compartir a través de


vcpkg new

Sinopsis

vcpkg new --application
vcpkg new --name hello --version 1.0 [--version-relaxed | --version-date | --version-string]

Crea un archivo de manifiesto () y un archivo de configuración predeterminado (vcpkg.jsonvcpkg-configuration.json) listo para usarse en el proyecto en el directorio de trabajo actual.

Use la marca si el --application proyecto es una aplicación de usuario final.

Si no usa --application, --name y --version son necesarios. --version-date, --version-relaxedo --version-string puede forzar que se seleccione un formato de versión determinado. Para obtener más información sobre los formatos de control de versiones, vea Referencia de control de versiones.

Opciones

Todos los comandos vcpkg admiten un conjunto de opciones comunes.

--application

Crea un manifiesto adecuado para su uso en aplicaciones, lo que elimina el requisito de proporcionar el nombre y la versión.

--name

Nombre que se va a escribir en el manifiesto.

--version

Indica la versión que se va a escribir en el manifiesto. Si no se pasa ninguno de los otros modificadores de formato de versión, deduce el formulario adecuado que se usará en función del formulario de la entrada.

--version-relaxed

Indica que la versión que se va a escribir en el manifiesto es una versión "relajada". Las versiones relajadas obedecen el formato del control de versiones semántico, pero permiten cualquier número de valores numéricos. Consulte referencia de control de versiones para obtener más información.

--version-date

Indica que la versión que se va a escribir en el manifiesto es una versión de "fecha". Las versiones de fecha son una fecha ISO 8601 (por ejemplo, "AAAA-MM-DD"). Consulte referencia de control de versiones para obtener más información.

--version-string

Indica que la versión que se va a escribir en el manifiesto es una versión de "cadena" sin ordenación.

Semántica. Consulte referencia de control de versiones para obtener más información.

Ejemplos

Nota:

vcpkg new genera metadatos en vcpkg.json y vcpkg-configuration.json archivos. Esto incluye la integración con la experiencia de artefactos experimentales. En concreto, los registros con "kind": "artifact" son para la característica experimental vcpkg-artifacts.

Con --application

$ vcpkg new --application
$ type vcpkg.json
{}
$ type .\vcpkg-configuration.json
{
  "default-registry": {
    "kind": "git",
    "baseline": "64adda19c86e89526b5e27703a193c14477cce07",
    "repository": "https://github.com/microsoft/vcpkg"
  },
  "registries": [
    {
      "kind": "artifact",
      "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
      "name": "microsoft"
    }
  ]
}

Con --name y --version

$ vcpkg new --name hello --version 2023-07-05
$ type vcpkg.json
{
  "name": "hello",
  "version-date": "2023-07-05"
}
$ type .\vcpkg-configuration.json
{
  "default-registry": {
    "kind": "git",
    "baseline": "64adda19c86e89526b5e27703a193c14477cce07",
    "repository": "https://github.com/microsoft/vcpkg"
  },
  "registries": [
    {
      "kind": "artifact",
      "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
      "name": "microsoft"
    }
  ]
}

Con selección de formato de versión explícita

$ vcpkg new --name hello --version 1.0 --version-date
error: `1.0` is not a valid date version. Dates must follow the format YYYY-MM-DD and disambiguators must be dot-separated positive integer values without leading zeroes.
$ vcpkg new --name hello --version 1.0 --version-string
$ type vcpkg.json
{
  "name": "hello",
  "version-string": "1.0"
}
$ type .\vcpkg-configuration.json
{
  "default-registry": {
    "kind": "git",
    "baseline": "64adda19c86e89526b5e27703a193c14477cce07",
    "repository": "https://github.com/microsoft/vcpkg"
  },
  "registries": [
    {
      "kind": "artifact",
      "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
      "name": "microsoft"
    }
  ]
}