Hosts suportados
Este documento descreve as arquiteturas e sistemas operacionais suportados pelo vcpkg.
O vcpkg também depende de alguns componentes do sistema a serem instalados antes de ser executado.
Para usar o vcpkg, alguns componentes precisam ser instalados no sistema primeiro.
- Windows: Visual Studio 2015 ou posterior.
- macOS: Ferramentas de linha de comando do Xcode, tar, git, zip, unzip e curl. A maioria das portas também precisa
pkg-config
de . Recomendamos instalar essas dependências via Homebrew, como por meio de um comandobrew install zip unzip curl pkgconfig
de terminal . - Linux: um compilador C++ para usar, tar, git, zip, unzip e curl. A maioria das portas também precisa
pkg-config
de . Recomendamos instalar essas dependências com o gerenciador de pacotes do sistema.- Plataformas baseadas em APT:
apt install git curl zip unzip pkgconfig
- Plataformas baseadas em RPM:
dnf install git curl zip unzip pkgconfig
- Plataformas baseadas em pacman:
base-devel git curl zip unzip tar cmake ninja
- Plataformas baseadas em APT:
Para usuários de Linux e macOS, também recomendamos instalar os seguintes pacotes: autoconf
, autoconf-archive
, automake
e make
libtool
. Embora não sejam obrigatórios, esses pacotes são usados frequentemente por bibliotecas disponíveis no vcpkg.
O suporte é dividido em 4 categorias distintas. Eles são:
- Suporte completo, testado
As configurações usadas para testar o registro com curadoria do vcpkg regularmente. Problemas nessas configurações são rapidamente encontrados e corrigidos pelos mantenedores e pela comunidade do vcpkg. - Suporte total, esperado
Configurações tratadas com a mesma prioridade que "Suporte completo, testado", mas que não fazem parte dos testes regulares. Em geral, essas configurações são substancialmente semelhantes a uma das configurações totalmente testadas. - Suporte da comunidade
Configurações que não são ativamente suportadas pelos mantenedores do vcpkg, mas têm investimento substancial na comunidade. Os mantenedores do vcpkg aceitam alterações para corrigir problemas para essas plataformas, mas não garantem que essas configurações funcionem. A equipe vcpkg está interessada em mover o maior número possível de plataformas do suporte da comunidade para o suporte total. - Sem suporte
Configurações que são conhecidas por não funcionarem por algum motivo. Em geral, os PRs que fixam apenas essas plataformas não são aceitos.
As plataformas testadas e totalmente suportadas são:
- A versão mais recente do Windows / Windows Server. Estes são o Windows 11 e o Windows Server 2022 no momento em que este livro foi escrito.
- A atualização mais recente do Visual Studio, Visual Studio 2022 versão 17.11 no momento da redação deste artigo.
O macOS destina-se a rastrear a versão mais recente do macOS e a versão contemporânea das ferramentas de linha de comando do Xcode. No entanto, atualizar as máquinas macOS é um processo manual, e o macOS frequentemente muda as coisas de maneiras que interrompem os testes do vcpkg. No momento em que este livro foi escrito, estamos usando:
- macOS 14.5
- Ferramentas de linha de comando XCode 15.3
- A versão LTS mais recente do Ubuntu, atualmente 22.04.
- Android NDK do Linux de 64 bits versão r26d
- Windows 8.1 / Windows Server 2016 e posterior
- Visual Studio 2015 e posterior
- A versão mais recente do macOS, menos 2 versões principais. Por exemplo, a versão atual do macOS é o macOS 15 Sequoia, portanto, esperamos que o vcpkg funcione desde o macOS 13 Ventura. Isso se destina a rastrear o suporte da própria Apple para macOS.
- Versões contemporâneas das Ferramentas de Linha de Comando do Xcode para uma determinada versão do macOS.
Pretendemos oferecer suporte a compilações AMD64 de Linuxes baseados em glibc ainda em suporte de seu fornecedor de distribuição lançado nos últimos 5 anos. Exemplos:
- O Ubuntu 24.04, 22.04 e 20.04 são compatíveis com a Canonical e lançados nos últimos 5 anos, portanto, espera-se que funcionem. O Ubuntu 18.04 ainda é compatível com a Canonical, mas foi lançado há mais de 5 anos, portanto, não o consideramos mais totalmente compatível. A versão 20.10 é mais recente que a 20.04, mas não a consideramos totalmente suportada porque não é mais compatível com a Canonical.
- O Red Hat Enterprise Linux 9 é totalmente suportado.
- O CentOS e o Red Hat Enterprise Linux 8 deixaram o suporte da Red Hat em 31 de maio de 2024 e foram lançados há mais de 5 anos e, portanto, não são mais suportados.
- O CentOS e o RHEL 7 estão sem suporte da Red Hat e não devem funcionar, pois foram lançados há mais de 5 anos. O fork do Oracle Linux agora suportado pela Oracle ainda está em suporte da Oracle, mas ainda não deve funcionar, pois foi lançado há mais de 5 anos.
- O Fedora 40 e 39 são totalmente suportados, mas o 38 não é mais suportado pelo Fedora.
- O Debian 12 "Bookworm" e o 11 "Bullseye" são todos suportados pelo Debian e lançados nos últimos 5 anos. O Debian 10 "Buster" deixou o suporte do projeto Debian em julho de 2024 e, portanto, não é suportado pelo vcpkg.
Também assumimos que os sistemas de compilação dos usuários corresponderão à versão do Linux que eles estão usando e tomamos cuidado para garantir que componentes como nossa integração CMake no modo de manifesto funcionem com as versões dessas dependências que vêm com uma das distribuições acima. No momento em que este artigo foi escrito, essas versões de dependência e as distribuições associadas são:
- GCC 9.4.0 (Ubuntu 20.04)
- CMake 3.16.3 (Ubuntu 20.04)
- Ninja 1.10.0 (Todos)
- Curl 7.68 (Ubuntu 20.04)
- zip 3.0 (Todos)
- descompactar 6.0 (todos)
- Windows 7 / Windows Server 2008 R2 e posterior
vcpkg.exe
deve funcionar em versões do Windows 7, mas a grande maioria do registro com curadoria requer componentes MSYS2, como pkg-config
os quais não suportam mais versões do Windows anteriores a 8.1.
- MinGW ou Clang como o compilador de compilação.
Atualmente, o vcpkg tem várias suposições do Visual Studio; em particular, nossos recursos que copiam PDBs correspondentes para executáveis atualmente exigem dumpbin, um componente do Visual Studio. No entanto, temos vários membros dedicados da comunidade que se preocupam com o suporte ao MinGW e incluem conjuntos de ferramentas do MinGW na caixa.
- Linux não AMD64. Estamos extremamente interessados na ajuda de pessoas que visam o arm64 Linux se puder ser mostrado como fornecer binários que têm uma alta probabilidade de sucesso em execução em todo o hardware arm64 linux.
- Linux não glibc. Várias ferramentas que o vcpkg normalmente fornece para você são distribuídas em formas binárias que esperam que a libc do sistema seja glibc. Fornecemos um binário baseado em muslc de vcpkg que testamos para funcionar no Alpine, mas não podemos fornecer cópias baseadas em muslc de várias dependências como o CMake.
Em destinos BSD, nenhum binário vcpkg é fornecido para download. Em vez disso, a lógica de bootstrap baixará o código-fonte vcpkg e o compilará localmente.
O vcpkg requer vários pacotes de software que não fazem parte do sistema operacional e precisam ser instalados usando o gerenciador de pacotes:
- FreeBSD:
pkg install -y bash cmake curl git ninja zip unzip
- OpenBSD:
pkg_add -Iz bash cmake coreutils curl git ninja zip unzip-6.10-iconv
Como no Linux, é recomendável instalar também alguns pacotes adicionais:
- FreeBSD:
pkg install -y autoconf autoconf-archive gmake pkgconf python
- OpenBSD:
pkg_add -Iz autoconf-2.71 autoconf-archive gmake pkgconf python3
- vcpkg é executado
unzip
a partir dePATH
. Eventualmente, isso pode fazer com que o vcpkg execute o sistema operacional fornecidounzip
, apesar de um adicional ter sido instalado usando o gerenciador de pacotes. APATH
variável de ambiente deve ser configurada para preferir o terceirounzip
ao sistema operacional, ou o vcpkg não conseguirá extrair seu cache binário.
- Windows de 32 bits. Direcionar x86-windows ou arm-windows funciona bem, mas o próprio vcpkg espera executar cópias AMD64 de ferramentas de suporte como o CMake.
- Visual Studio 2013 ou anterior.
- Windows Vista ou anterior.
- Hosts macOS ou Linux mais antigos do que aqueles nas categorias Totalmente compatível .
Comentários do vcpkg
O vcpkg é um projeto código aberto. Selecione um link para fornecer comentários: