vcpkg neu

Übersicht

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

Erstellt eine Manifestdatei () und eine Standardkonfigurationsdatei (vcpkg.jsonvcpkg-configuration.json) für die Verwendung in Ihrem Projekt im aktuellen Arbeitsverzeichnis.

Verwenden Sie das --application Flag, wenn Ihr Projekt eine Endbenutzeranwendung ist.

Wenn sie nicht verwendet --application--name werden und --version erforderlich sind. --version-date, --version-relaxedoder --version-string kann erzwingen, dass ein bestimmtes Versionsformat ausgewählt ist. Weitere Informationen zu den Versionsverwaltungsformaten finden Sie unter Versionsverwaltungsreferenz.

Optionen

Alle vcpkg-Befehle unterstützen eine Reihe allgemeiner Optionen.

--application

Erstellt ein Manifest, das für die Verwendung in Anwendungen geeignet ist, wobei die Anforderung zum Angeben des Namens und der Version entfernt wird.

--name

Der Name, der in das Manifest geschrieben werden soll.

--version

Gibt die Version an, die in das Manifest geschrieben werden soll. Wenn keine der anderen Versionsformatoptionen übergeben wird, wird das entsprechende Formular abgeleitet, das basierend auf dem Formular der Eingabe verwendet werden soll.

--version-relaxed

Gibt an, dass die Version, die in das Manifest geschrieben werden soll, eine "entspannte" Version ist. Entspannte Versionen gehorchen dem Format der semantischen Versionsverwaltung, lassen jedoch eine beliebige Anzahl numerischer Werte zu. Weitere Informationen finden Sie unter Versionsverwaltungsreferenz .

--version-date

Gibt an, dass die Version, die in das Manifest geschrieben werden soll, eine Datumsversion ist. Datumsversionen sind ein ISO 8601-Datum (z. B. "JJJJ-MM-DD"). Weitere Informationen finden Sie unter Versionsverwaltungsreferenz .

--version-string

Gibt an, dass die version, die in das Manifest geschrieben werden soll, eine Zeichenfolgenversion ohne Sortierung ist.

Semantik. Weitere Informationen finden Sie unter Versionsverwaltungsreferenz .

Beispiele

Hinweis

vcpkg new generiert Metadaten in vcpkg.json und vcpkg-configuration.json Dateien. Dies schließt die Integration in die experimentelle Artefakterfahrung ein. Insbesondere sind die Registrierungen "kind": "artifact" für die experimentelle vcpkg-artefakt-Funktion vorgesehen.

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

Mit --name und --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"
    }
  ]
}

Mit expliziter Auswahl des Versionsformats

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