Share via


vcpkg new

Riepilogo

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

Crea un file manifesto (vcpkg.json) e un file di configurazione predefinito (vcpkg-configuration.json) pronto per l'uso nel progetto nella directory di lavoro corrente.

Usare il flag se il --application progetto è un'applicazione dell'utente finale.

Se non si usa --application, --name e --version sono necessari. --version-date, --version-relaxedo --version-string può forzare l'selezione di un formato di versione specifico. Per altre informazioni sui formati di controllo delle versioni, vedere Informazioni di riferimento sul controllo delle versioni.

Opzioni

Tutti i comandi vcpkg supportano un set di opzioni comuni.

--application

Crea un manifesto adatto per l'uso nelle applicazioni, rimuovendo il requisito di fornire il nome e la versione.

--name

Nome da scrivere nel manifesto.

--version

Indica la versione da scrivere nel manifesto. Se nessuna delle altre opzioni di formato di versione viene passata, deduce il modulo appropriato da utilizzare in base al formato dell'input.

--version-relaxed

Indica che la versione da scrivere nel manifesto è una versione "rilassata". Le versioni rilassate obbediscono al formato del controllo delle versioni semantiche, ma consentono qualsiasi numero di valori numerici. Per altre informazioni, vedere informazioni di riferimento sul controllo delle versioni.

--version-date

Indica che la versione da scrivere nel manifesto è una versione 'date'. Le versioni della data sono una data ISO 8601 ,ad esempio "AAAA-MM-GG"). Per altre informazioni, vedere informazioni di riferimento sul controllo delle versioni.

--version-string

Indica che la versione da scrivere nel manifesto è una versione 'string' senza ordinamento

Semantica. Per altre informazioni, vedere informazioni di riferimento sul controllo delle versioni.

Esempi

Nota

vcpkg new genera metadati in vcpkg.json e vcpkg-configuration.json file. Ciò include l'integrazione con l'esperienza sperimentale degli artefatti. In particolare, i registri con "kind": "artifact" sono per la funzionalità sperimentale 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 e --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 la selezione esplicita del formato della versione

$ 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"
    }
  ]
}