Última atualização:2026-10-12
Construindo projetos C++ com Bazel¶
Os projetos deste site (incluindo o CPlusPlusThings) já mudaram para builds com Bazel; aqui registro o processo completo, da instalação do zero até compilar com sucesso — todos os passos realmente testados.
1. Instalação¶
Tomando o Linux como exemplo, a recomendação oficial é instalar a versão de usuário com o script installer (sem precisar de root): gpadmin@gpadmin:~$ ./bazel-6.1.1-installer-linux-x86_64.sh --user Bazel installer
Bazel is bundled with software licensed under the GPLv2 with Classpath exception. You can find the sources next to the installer on our release page: https://github.com/bazelbuild/bazel/releases
¶
Build information¶
- Commit Uncompressing......WARNING: Invoking Bazel in batch mode since it is not invoked from within a workspace (below a directory having a WORKSPACE file). Extracting Bazel installation... .
Bazel is now installed!
Make sure you have "/home/gpadmin/bin" in your path.
For bash completion, add the following line to your : source /home/gpadmin/.bazel/bin/bazel-complete.bash
For fish shell completion, link this file into your /home/gpadmin/.config/fish/completions/ directory: ln -s /home/gpadmin/.bazel/bin/bazel.fish /home/gpadmin/.config/fish/completions/bazel.fish
See http://bazel.build/docs/getting-started.html to start a new project!
gpadmin@gpadmin:~$ ls ~/bin/ bazel export PATH="\(PATH:\)HOME/bin" source ~/.bashrc bazel --version bazel build //... ```O Bazel baixa dependências automaticamente e faz cache dos artefatos de build, então a segunda compilação é basicamente instantânea — esse é o cerne de por que ele é mais rápido que o Make tradicional: cache remoto/local por hash de conteúdo + um fechamento estrito de dependências.
Para o passo a passo completo de build do projeto deste site, assista ao vídeo no Bilibili: Episódio 1: Step By Step para compilar este projeto; fica melhor ainda junto com este post. Dúvidas? Deixe nos comentários~
Tópicos relacionados¶
- Depuração conjunta de Bazel e LLDB | C++那些事
- CMake: introdução e prática | C++那些事
- Introdução ao gerenciamento de pacotes C++ com Conan | C++那些事
- C++ Insights: observação em tempo de compilação | C++那些事
- C++ interativo com Jupyter Notebook | C++那些事
- Converter string para int em C++ | C++那些事
- Macro de depuração dbg-macro em C++ | C++那些事
- Opções de compilação do GCC em detalhes | C++那些事
- Depuração de programas C++ com GDB | C++那些事
- Depuração estendida com Python no GDB | C++那些事