Legen Sie die Option vcpkg x-buildtrees-root im Manifest oder in cmakepresets.json festC++

Programme in C++. Entwicklerforum
Guest
 Legen Sie die Option vcpkg x-buildtrees-root im Manifest oder in cmakepresets.json fest

Post by Guest »

Ich habe ein CMake-Projekt, das vcpkg.json zum Verwenden von vcpkg und CMakePresets.json zum Festlegen der CMake-Optionen verwendet.
Dies ist das vcpkg.json:

Code: Select all

{
"name": "myproj",
"version": "1.0.0",
"dependencies": [
"boost",
"qt"
]
}
Dies ist CMakePresets.json:

Code: Select all

{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 22,
"patch": 1
},
"configurePresets": [
{
"name": "default",
"displayName": "Default Config",
"description": "Default config generator with ninja",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"hidden": true,
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "e:/lib/vcpkg/scripts/buildsystems/vcpkg.cmake",
"VCPKG_DEFAULT_TRIPLET": "x64-windows",
"CMAKE_EXPORT_COMPILE_COMMANDS": "TRUE"
},
"environment": {
}
},
{
"inherits": "default",
"name": "debug",
"displayName": "Debug",
"description": "Debug build.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"inherits": "default",
"name": "release",
"displayName": "Release",
"description": "Release build.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
}
],
"buildPresets": [
{
"name": "Debug",
"configurePreset": "debug"
},
{
"name": "Release",
"configurePreset": "release"
}
],
"testPresets": [
{
"name": "debugtest",
"configurePreset": "debug",
"output": {"outputOnFailure": true},
"execution": {"noTestsAction": "error", "stopOnFailure": true}
}
]
}
Wenn ich den Projektordner mit Visual Studio 2022 öffne, beginnt es mit dem Erstellen der vcpkg-Bibliotheken, und alles läuft gut, bis qtwebengine erstellt wird, das zurückkehrt mir einen Fehler:

Code: Select all

1> [CMake] Installing 376/432 qtwebengine:x64-windows...
1> [CMake] Building qtwebengine[core,default-features,geolocation,spellchecker,webchannel]:x64-windows...
1> [CMake] -- Using cached pypa-get-pip-38e54e5de07c66e875c11a1ebbdb938854625dd8.tar.gz.
1> [CMake] -- Cleaning sources at E:/lib/vcpkg/buildtrees/qtwebengine/src/8854625dd8-861bd167bd.clean. Use --editable to skip cleaning for the packages you specify.
1> [CMake] -- Extracting source E:/lib/vcpkg/downloads/pypa-get-pip-38e54e5de07c66e875c11a1ebbdb938854625dd8.tar.gz
1> [CMake] -- Using source at E:/lib/vcpkg/buildtrees/qtwebengine/src/8854625dd8-861bd167bd.clean
1> [CMake] -- Setting up python virtual environmnent...
1> [CMake] -- Installing python packages: html5lib
1> [CMake] -- Setting up python virtual environmnent...finished.
1> [CMake] CMake Warning at ports/qtwebengine/portfile.cmake:85 (message):
1> [CMake]   Buildtree path 'E:/lib/vcpkg/buildtrees/qtwebengine' is too long.
1> [CMake]
1> [CMake]   Consider passing --x-buildtrees-root= to vcpkg!
1> [CMake]
1> [CMake]   Trying to use 'E:/lib/vcpkg/buildtrees/qtwebengine/../tmp'
1> [CMake] Call Stack (most recent call first):
1> [CMake]   scripts/ports.cmake:147 (include)
1> [CMake]
1> [CMake]
1> [CMake] CMake Error at ports/qtwebengine/portfile.cmake:90 (message):
1> [CMake]   Buildtree path is too long.   Build will fail! Pass
1> [CMake]   --x-buildtrees-root= to vcpkg!
1> [CMake] Call Stack (most recent call first):
1> [CMake]   scripts/ports.cmake:147 (include)
1> [CMake] error: building qtwebengine:x64-windows failed with: BUILD_FAILED
1> [CMake] error: Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Grundsätzlich muss ich beim Erstellen der Bibliothek mit vcpkg die Option --x-buildtrees-root= festlegen. Ich kann es manuell tun, aber wie kann ich diese Option so einstellen, dass sie automatisch aufgerufen wird, wenn ich die Abhängigkeiten mit Visual Studio erstelle? Wie kann ich meine Konfigurationsdateien aktualisieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post