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:
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:
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?
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]{ "name": "myproj", "version": "1.0.0", "dependencies": [ "boost", "qt" ] } [/code] Dies ist CMakePresets.json: [code]{ "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} } ] } [/code] 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]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`. [/code] 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?
Nachdem Sie das vcpkg-Tutorial mit cmake befolgt haben. Cmake konnte „MinGW Makefiles“ mit vcpkg nicht erkennen.
Einige Informationen zu meinem System
Ich verwende Windows x64 Bit und habe mingw...
Ich verwende argparse, um die Protokollierungsebene über die Befehlszeile abzurufen und sie dann als Eingabe für logging.basicConfig zu übergeben. Die Art und Weise, wie ich versuche, dies...
Ich möchte Firebase verwenden, um Benutzer per Telefon in einer Android-App zu authentifizieren. Der Arzt sagt, dass dies zu tun ist
val options = PhoneAuthOptions.newBuilder(auth)...
Ich versuche derzeit, eine Chrome-Erweiterung mit React zu erstellen.
Ich werde Chrome-APIs verwenden, um die Funktionalität zu nutzen, die background.js und content.js erfordert, wo die...
Ich importiere Produkte programmgesteuert in WooCommerce und muss den Produkten globale Attribute zuweisen. Die Attribute werden jedoch immer als benutzerdefinierte Produktattribute anstelle von...