0Pricing
C++ Academy · Aula

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 spdlog

Vinculando 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.cmake

Usando 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=missing

Exemplo de conanfile.txt

Liste os requisitos, os geradores e as opções.

[requires]
fmt/10.1.1
spdlog/1.12.0

[generators]
CMakeDeps
CMakeToolchain

Integrando 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.cmake

FetchContent: 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

  1. Organização de projetos CMake e CMakeLists.txt
  2. Destinos, ligação e visibilidade: PUBLIC, PRIVATE
  3. Usar vcpkg e Conan para dependências
  4. Gerar ficheiros de IDE e compilações multiplataforma
← Voltar para C++ Academy