Usługa MinGW nie jest testowana w ramach procesu ciągłej integracji repozytorium vcpkg, więc regresje mogą wystąpić w ramach aktualizacji biblioteki. Żądania ściągnięcia poprawiające wsparcie są mile widziane!
Mingw-w64 community triplets
vcpkg obejmuje x64, x86, arm64 i arm community triplets dla Mingw-w64. Nie zależą one od programu Visual Studio i mogą być używane natywnie w systemie Windows, a także do kompilowania krzyżowego w innych systemach operacyjnych. Istnieją dwa warianty każdej trójki, wybierając między łączeniem statycznym i dynamicznym. Oczekuje się, że rzeczywiste narzędzia (g++ itp.) będą nazwane z określonymi prefiksami.
Architektura
trojaczki społeczności vcpkg
Prefiks nazwy narzędzia
x64
x64-mingw-dynamic, x64-mingw-static
x86_64-w64-mingw32-
x86
x86-mingw-dynamic, x86-mingw-static
i686-w64-mingw32-
arm64
arm64-mingw-dynamic, arm64-mingw-static
aarch64-w64-mingw32-
Ramię
arm-mingw-dynamic, arm-mingw-static
armv7-w64-mingw32-
Te trojaczki nie są testowane przez ciągłą integrację, więc wiele portów nie jest kompilowanych, a nawet istniejące porty mogą spowodować przerwanie aktualizacji portów.
W związku z tym zaangażowanie społeczności jest najważniejsze!
Dzięki msYS2 można łatwo utworzyć pełne środowisko do kompilowania portów za pomocą Mingw-w64 na komputerze z systemem Windows.
Podczas tworzenia oprogramowania dla natywnych środowisk systemu Windows należy użyć podsystemu mingw MSYS2 i zainstalować niektóre pakiety (z określonym prefiksem) dla tego podsystemu.
architektura
trojaczki vcpkg
Podsystemu
prefiks pakietu
x64
x64-mingw-dynamic, x64-mingw-static
mingw64
mingw-w64-x86_64-
x86
x86-mingw-dynamic, x86-mingw-static
mingw32
mingw-w64-i686-
Po podstawowej instalacji msYS2 należy zainstalować kilka dodatkowych pakietów na potrzeby tworzenia oprogramowania, na przykład dla środowiska x64:
Aktywny podsystem jest wybierany przez uruchomienie aplikacji MSYS2 MinGW lub zmienione w uruchomionym terminalu przez
source shell mingw64 # for x64, or "mingw32" for x86
Bootstrapping vcpkg należy wykonać przez uruchomienie bootstrap-vcpkg.bat. To polecenie pobierze oficjalny plik vcpkg.exe.
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.bat
W przypadku pakietów konstrukcyjnych należy poinformować vcpkg, że chcesz użyć trypletu mingw. Można to zrobić na różne sposoby. Jeśli program Visual Studio nie jest zainstalowany, należy również ustawić potrójny hosta na mingw. Jest to konieczne do rozwiązania problemów z zależnościami hosta. Dla wygody możesz użyć zmiennych środowiskowych, aby ustawić obie trójki:
Projekt MSYS2 wyraźnie ostrzega , że "mieszanie programów z innych instalacji MSYS2, instalacji Cygwin, łańcuchów narzędzi kompilatora, a nawet różnych innych programów nie jest obsługiwane i prawdopodobnie spowoduje przerwanie rzeczy w nieoczekiwany sposób." Na przykład prawidłowe przekazywanie argumentów wiersza polecenia z cudzysłowem i ucieczką może zakończyć się niepowodzeniem.
Jednak porty vcpkg niejawnie tworzą instalacje MSYS2, np. dla pkg-config i dla różnych innych narzędzi kompilacji potrzebnych do obsługi pakietów w oparciu o autokonf. W szczególności, gdy porty poprzedzają katalog narzędzi do PATH zmiennej środowiskowej, może to zmienić narzędzie o określonej nazwie i sposób przekazywania argumentów między narzędziami.
Aby rozwiązać takie problemy podczas pracy z pełną instalacją MSYS2, spróbuj zachować katalogi podsystemu msys (/usr/bin, bin) ze PATH zmiennej środowiskowej znalezionej przez program vcpkg. W powłoce bash można zmodyfikować PATH tylko dla pojedynczego wywołania programu vcpkg:
Alternatywnie możesz uruchomić narzędzie vcpkg z zwykłego wiersza polecenia, po dodaniu tylko żądanego katalogu mingw (np. C:\msys64\mingw64\bin) do .PATH
W przypadku korzystania z narzędzia vcpkg dla ciągłej integracji ze standardowymi obrazami w usłudze Azure Pipelines, funkcji Github Actions lub podobnych domyślnych PATH katalogów może zawierać więcej katalogów, które tworzą mieszankę programów MSYS2 z różnych instalacji. Możesz ustawić żądane PATH ręcznie lub usunąć katalogi zawierające sh.exebash.exe, lub msys-2.0.dllcygwin1.dll.
Używanie Mingw-w64 do kompilowania programów systemu Windows w innych systemach
Możesz użyć trypletów społeczności vcpkg mingw z łańcuchami narzędzi na komputerach innych niż Windows do krzyżowego kompilowania oprogramowania do uruchamiania w systemie Windows. Wiele dystrybucji systemu Linux oferuje takie łańcuchy narzędzi w opcjonalnych pakietach z sufiksem lub prefiksem mingw-w64. Na przykład w przypadku dystrybucji opartych na debianie należy zacząć od tego polecenia instalacji dla łańcucha narzędzi x64:
Spakowane wersje łańcuchów narzędzi Mingw-w64 w dystrybucjach systemu Linux mogą być starszymi wersjami, które nie mają niektórych przydatnych funkcji lub poprawek błędów. Alternatywny niezależny łańcuch narzędzi jest oferowany przez MXE.
W przypadku uruchamiania narzędzia vcpkg sklonuj repozytorium github i uruchom bootstrap-vcpkg.sh skrypt:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install zlib:x64-mingw-dynamic
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie vcpkg
vcpkg to projekt typu open source. Wybierz link, aby przekazać opinię:
W tym module dowiesz się, jak używać Podsystem Windows dla systemu Linux (WSL) z programem Visual Studio Code (VS Code). Zapoznamy się z procesem instalacji i podstawami korzystania z programu WSL. Ponadto instalujemy i korzystamy z rozszerzenia WSL programu Visual Studio Code. Na koniec pokazujemy, jak debugować i uruchamiać kod języka Python w programie VS Code w naszym środowisku WSL.