Usar vcpkg e Conan para dependências
Obtenha bibliotecas externas com vcpkg e Conan e integre-as com o CMake
Usar vcpkg e Conan para dependências é uma aula grátis de C++ Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C++ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C++ Academy inclui 4 aulas no total.
Por que Usar um Gerenciador de Pacotes?
Baixar e compilar manualmente dependências para C++ é trabalhoso. Os gerenciadores de pacotes automatizam a obtenção, a compilação e a configuração de bibliotecas de terceiros.
As Duas Opções Principais
Dois gerenciadores de pacotes líderes para C++:
- vcpkg — apoiado pela Microsoft, somente código-fonte, integra-se ao CMake
- Conan — de código aberto, oferece suporte a binários e é mais flexível
Configuração do vcpkg
Clone o repositório do vcpkg e faça a inicialização. Defina o arquivo da cadeia de ferramentas na chamada do CMake.
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
./vcpkg install fmt spdlogVinculando com vcpkg no CMake
Passe o arquivo da cadeia de ferramentas ao configurar o CMake. find_package funcionará normalmente.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmakeUsando vcpkg.json (Modo de Manifesto)
Declare as dependências em um arquivo vcpkg.json. O vcpkg as instala por projeto.
{
"name": "my-app",
"version-string": "0.1.0",
"dependencies": ["fmt", "spdlog", "nlohmann-json"]
}Configuração do Conan
Instale o Conan com pip; crie um conanfile.txt ou conanfile.py.
pip install conan
conan profile detect
conan install . --build=missingExemplo de conanfile.txt
Liste os requisitos, os geradores e as opções.
[requires]
fmt/10.1.1
spdlog/1.12.0
[generators]
CMakeDeps
CMakeToolchainIntegrando o Conan ao CMake
O Conan gera arquivos do CMake quando você executa install. Use-os por meio do arquivo da cadeia de ferramentas ou incluindo os arquivos do CMake gerados.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmakeFetchContent: Alternativa Nativa do CMake
Para casos simples, o CMake tem o FetchContent integrado, que baixa e adiciona dependências durante a configuração.
include(FetchContent)
FetchContent_Declare(fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG 10.1.1
)
FetchContent_MakeAvailable(fmt)
target_link_libraries(myapp PRIVATE fmt::fmt)Escolhendo uma Ferramenta
Guia rápido:
- Projetos pequenos →
FetchContent - Projetos maiores, dependências simples →
vcpkg - Compilações complexas, cache de binários →
Conan
Compilações Reproduzíveis
Fixe versões específicas no seu manifesto. Os arquivos de bloqueio (conan.lock) registram as versões exatas resolvidas para garantir a reprodutibilidade.
Armazenamento de Binários em Cache
Conan e vcpkg oferecem suporte ao armazenamento de binários em cache — as compilações de integração contínua tornam-se várias ordens de grandeza mais rápidas. Configure um cache compartilhado para sua equipe.
Verificação Rápida
Qual mecanismo do CMake baixa e compila uma dependência durante a configuração sem exigir uma ferramenta externa?
Recapitulação
vcpkg e Conan automatizam o gerenciamento de dependências do C++. O FetchContent do CMake é uma alternativa leve. Fixe versões, armazene binários em cache e use find_package no CMake para consumir as bibliotecas instaladas.
Perguntas Frequentes
A aula “Usar vcpkg e Conan para dependências” é grátis?
Sim — o texto completo de “Usar vcpkg e Conan para dependências” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C++ Academy, atualize para CoddyKit PRO. O curso de C++ Academy inclui 4 aulas no total.
O que vou aprender em “Usar vcpkg e Conan para dependências”?
Obtenha bibliotecas externas com vcpkg e Conan e integre-as com o CMake Você pratica C++ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C++ Academy?
Nenhuma experiência prévia é necessária. C++ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Usar vcpkg e Conan para dependências”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C++ Academy?
Sim. Cada aula de C++ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Organização de projetos CMake e CMakeLists.txt
- Destinos, ligação e visibilidade: PUBLIC, PRIVATE
- Usar vcpkg e Conan para dependências
- Gerar ficheiros de IDE e compilações multiplataforma