Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a vcpkg által a telepítési könyvtárhoz használt elrendezési konvenciókról szól. A telepítési könyvtár tartalmazza az egyes csomagok által telepített fájlokat. A portszerzőknek gondoskodniuk kell arról, hogy csomagjaik az ebben a cikkben ismertetett konvenciók szerint történjenek.
Klasszikus módban a telepítési könyvtár a következő helyen $VCPKG_ROOT/installed található (hol $VCPKG_ROOT található a vcpkg telepítési útvonala).
Jegyzék módban minden jegyzékfájl rendelkezik egy megfelelő vcpkg_installed könyvtárral. A telepítési könyvtár helye a beállítással --x-install-root módosítható.
A műveleti módtól függetlenül a telepítési könyvtár elrendezése változatlan marad.
A telepítőkönyvtár a csomag első telepítésekor jön létre, ha nem látja a telepítési könyvtárat, először próbálkozzon néhány csomag telepítésével.
A telepítési könyvtár gyökérszintje a következőket tartalmazza:
- Egy
vcpkgkönyvtár, amely nyomon követi a telepített csomagokat és fájlokat - Könyvtár minden hármashoz. Minden triplet könyvtár tartalmazza az egyes csomagok által telepített fájlokat.
Triplet-könyvtárak
Az egyes csomagtelepítések kimenete egy triplet-specifikus könyvtárban található.
A triplethez telepített csomagok például a x64-windows könyvtárban installed/x64-windows találhatók.
Az egyes triplet-címtárak alkönyvtárainak elrendezése megegyezik:
Note
Egyes csomagok olyan fájlokat hozhatnak létre, amelyek nem felelnek meg az itt ismertetett konvencióknak. A portkészítőknek az egyes fájlok rendeltetése alapján kell meghatározniuk a létrehozott fájlok végső helyét.
| Alkönyvtár | Fájltípus |
|---|---|
bin |
Kiadás .dll és .pdb fájlok |
debug/bin |
Hibakeresés .dll és .pdb fájlok |
debug/lib |
Hibakeresés .lib, .so, .dylibés .a fájlok |
debug/lib/manual-link |
Manuálisan összekapcsolható hibakeresés.lib, .soés .dylib.a fájlok |
debug/plugins/<group> |
Megosztott kódtárak futtatókörnyezetbe való betöltése hibakeresése |
debug/lib/pkgconfig |
Pkg-config fájlok hibakeresése (.pc) |
include |
Fejlécfájlok (.h, .hpp, .hxx) |
lib |
Kiadás .lib, .soés .dylib.a fájlok |
lib/manual-link |
Manuálisan csatolható kiadás .lib, .so, .dylibés .a fájlok |
lib/pkgconfig |
Pkg-config fájlok kiadása (.pc) |
plugins/<group> |
Runtime-load release shared libraries |
share/<port> |
További konfigurációfüggetlen fájlok |
share/<port>/copyright |
A csomag licencszövege |
share/<port>/usage |
Build-system integrációs utasítások fájlja |
share/<port>/usage-accurate |
Generált használati pontossági jelölő |
share/<port>/vcpkg.spdx.json |
Előállított szoftveres anyagjegyzék |
share/<port>/vcpkg-port-config.cmake |
Portalapú CMake-függvények és változók |
share/<lowercase-package>/<package>Config.cmake |
CMake-integrációs fájlok a következőhöz: find_package(package) |
share/<cmakepackagename>/vcpkg-cmake-wrapper.cmake |
CMake find_package(<cmakepackagename>) felülbírálása |
share/pkgconfig |
Konfigurációfüggetlen pkg-config fájlok (.pc) |
tools/<port> |
Végrehajtható eszközök és támogató fájlok |
bin és debug/bin könyvtárak
A Windows ezek a könyvtárak DLL- és PDB-fájlokat tartalmaznak a kiadási és hibakeresési konfigurációhoz. A portok által létrehozott végrehajtható fájlokat át kell helyezni egy tools/<port> könyvtárba.
include
Fejlécfájlokat (.h, , .hpp). .hxx A könyvtár alatti elrendezésnek tükröznie kell a csomag fejlécfájljainak tervezett használatát. Egy használni #include <contoso/contoso.h> kívánt kódtárnak például contoso meg kell adnia a fejlécfájltinclude/contoso/contoso.h.
A vcpkg megtiltja néhány fenntartott fejlécfájl telepítését a include könyvtár gyökerében, például: err.h, user.h, time.hés mások.
A tiltott fejlécfájlnevet tartalmazó kódtáraknak a fejlécfájlokat egy include/<port> könyvtárban kell elhelyezniük. Ha a kódtár egy rendszerfejlécfájlt kíván lecserélni, a szabályzatot a VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS saját portfile.cmake.
lib és debug/lib könyvtárak
Statikus kódtárakat, importálási kódtárakat (Windows) és megosztott kódtárakat tartalmaz (nem Windows).
lib/manual-link és debug/lib/manual-link könyvtárak
Manuálisan csatolandó kódtárakat tartalmaz.
Az automatikus csatoláskor problémákat okozó fájlokat a címtár helyett a lib/manual-linklib mappákba kell helyezni. Ha például egy kódtár egy program függvényének main() definiálására szolgál.
lib/pkgconfig, debug/lib/pkgconfig és share/pkgconfig könyvtárak
Pkg-config integrációs fájlokat (.pc) tartalmaz. A tárak nem biztosíthatnak konfigurációfüggő és konfigurációfüggetlen fájlokat egyszerre.
Például: ne telepítse lib/pkgconfig/contoso.pc és share/pkgconfig/contoso.pcne.
plugins/<group> és debug/plugins/<group>
Olyan megosztott kódtárakat tartalmaz, amelyeket futásidőben, alkalmazások használatával kell betölteni.
share/<port>
Az egyes portok által telepített különböző fájlokat tartalmazza. Például SPDX-fájlok, szkriptek stb.
share/<port>/copyright
A vcpkg elvárja, hogy a portok olyan fájlt adjanak meg copyright , amely tartalmazza a telepített csomag licencadatait. További információért tekintse meg a karbantartó útmutatót .
share/<port>/usage
Egy szövegfájl, amely útmutatást tartalmaz egy kódtár projekten belüli integrálásához. További információkért tekintse meg a csomagok használati dokumentációját ismertető útmutatót .
share/<port>/usage-accurate
Egy üres jelölőfájl, amely megerősíti a vcpkg által generált használati adatokat, pontos. A fájl telepítésekor a vcpkg kihagyja a heurisztikus figyelmeztetést a létrehozott használati adatokból. További információkért tekintse meg a használati dokumentáció útmutatóját .
share/<port>/vcpkg.spdx.json
A vcpkg által a telepített csomaghoz létrehozott szoftveres anyagjegyzék .
share/<lowercase-package>/<package>Config.cmake, share/<package>/<package>-config.cmake
A CMake-integrációs fájlokat a share mappába kell helyezni, és tiszteletben kell tartani a CMake
find_package(package)
CONFIG módban.
Ha például egy portnak meg kell adniafind_package(MyPackage REQUIRED), akkor vagy azt kell megadniashare/mypackage/MyPackage-config.cmakeshare/mypackage/MyPackageConfig.cmake.
Ha egy csomag CMake-integrációs fájlokat biztosít, a
vcpkg_cmake_config_fixup() a segédfüggvényt meg kell hívni a nem áthelyezhető útvonalak kijavításához és a buildkonfigurációk egyesítése érdekében.
tools/<port>
Important
A vcpkg mindenekelőtt egy C++ kódtár függőségkezelője. A portkészítőknek megfontolandónak kell lenniük, amikor úgy döntenek, hogy eszközöket is belefoglalnak a telepítési kimenetbe. Tegyük fel például, hogy csak egy végrehajtható kiadást telepít, ha a hibakeresési eszközre nincs szükség.
Mind a kiadási, mind a hibakeresési végrehajtható elemeket meg kell adni, ha a végrehajtható elemek futásidejű használatra vannak szánva.
Port által létrehozott végrehajtható eszközöket tartalmaz. Erősen ajánlott, de nem kötelező, hogy minden telepített végrehajtható fájl egy alkönyvtárba kerül, amely megfelel az azt előállító port nevének. Előfordulhat például, hogy egy contoso port a következőt tools/contoso/ContosoGenerator.exetelepítiContosoGenerator.exe: .
Egyes portok esetében a végrehajtható fájlok egy bin alkönyvtárba kerülnek, ebben az esetben az ajánlott minta.tools/<port>/bin