Última actualización:2026-10-12
Construir proyectos C++ con Bazel¶
Los proyectos de este sitio (incluido CPlusPlusThings) ya pasaron a construcciones con Bazel; aquí registro el proceso completo, de la instalación desde cero a compilar con éxito, con todos los pasos probados en la práctica.
1. Instalación¶
Tomando Linux como ejemplo, la recomendación oficial es instalar la versión de usuario con el script installer (sin necesidad 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 //... ```Bazel descarga dependencias automáticamente y cachea los artefactos de construcción, así que la segunda compilación es prácticamente instantánea — este es el núcleo de por qué es más rápido que el Make tradicional: caché remota/local basada en hash de contenido + un cierre estricto de dependencias.
Para la guía práctica completa de construcción del proyecto de este sitio, mira el vídeo en Bilibili: Episodio 1: Step By Step para compilar este proyecto; combínalo con este artículo para un mejor resultado. ¿Dudas? Nos vemos en los comentarios~
Temas relacionados¶
- Depuración conjunta de Bazel y LLDB | C++那些事
- CMake: introducción y práctica | C++那些事
- Introducción a Conan, gestor de paquetes de C++ | C++那些事
- C++ Insights: observación en tiempo de compilación | C++那些事
- C++ Jupyter Notebook interactivo | C++那些事
- Convertir string a int en C++ | C++那些事
- dbg-macro, macro de depuración para C++ | C++那些事
- Explicación detallada de las opciones de compilación de GCC | C++那些事
- Depurar programas C++ con GDB | C++那些事
- Depuración con la extensión Python de GDB | C++那些事