# rules_cc **Repository Path**: liangkungitee/rules_cc ## Basic Information - **Project Name**: rules_cc - **Description**: C++ Rules for Bazel - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-20 - **Last Updated**: 2026-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C++ rules for Bazel * Postsubmit [![Build status](https://badge.buildkite.com/f03592ae2d7d25a2abc2a2ba776e704823fa17fd3e061f5103.svg?branch=main)](https://buildkite.com/bazel/rules-cc) This repository contains C, C++, and Objective-C language support for the [Bazel build system](https://bazel.build/). For this module's main reference, see the Bazel [documentation](https://bazel.build/reference/be/c-cpp). # Get Started ## Install Bazel Follow the official instructions to [Install Bazel](https://bazel.build/install). ## Add rules_cc to your MODULE.bazel Add the [latest release](https://registry.bazel.build/modules/rules_cc) to your [MODULE.bazel project file](https://bazel.build/external/overview). ## Declare a build target In a `BUILD.bazel` file, import and use the rules: ```python load("@rules_cc//cc:cc_binary.bzl", "cc_binary") cc_binary( name = "hello_world", srcs = ["hello_world.cc"], ) ``` ## Build and run your project Build and run your C/C++ binary with one command: ```console $ bazel run hello_world ``` To build the project without running the binary, use Bazel's `build` subcommand: ```console $ bazel build hello_world ``` # Toolchains ## Default autoconfigured toolchain rules_cc includes an auto-configured toolchain that uses the local compiler installed on the host machine. You can disable the autoconfigured C/C++ toolchain by adding the following Bazel flag to your project's [`.bazelrc` file](https://bazel.build/run/bazelrc): ``` --repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 ``` ## Hermetic toolchains Configuring a [hermetic](https://bazel.build/basics/hermeticity) toolchain makes your build more deterministic. rules_cc itself does not yet offer a hermetic toolchain distribution. Other community owned and maintained projects offer hermetic C/C++ toolchains: - GCC (Linux only): - Hermetic LLVM: - LLVM: - zig cc: # Contributing Bazel and `rules_cc` are the work of many contributors. We appreciate your help! To contribute, please read the contribution guidelines: [CONTRIBUTING.md](https://github.com/bazelbuild/rules_cc/blob/main/CONTRIBUTING.md). Note that the `rules_cc` use the GitHub issue tracker for bug reports and feature requests only. For asking questions see: * [Stack Overflow](https://stackoverflow.com/questions/tagged/bazel) * [`rules_cc` mailing list](https://groups.google.com/forum/#!forum/cc-bazel-discuss) * Slack channel `#cc` on [slack.bazel.build](https://slack.bazel.build)