我是C++的新手.我知道如何用cmake设置c ++版本,但不知道如何在bazel中设置c ++版本.
也许用copts
参数设置cc_libary
但我必须在每个cc_libary中设置它?
hlo*_*pko 12
因此,在Bazel中指定c ++工具链的强大解决方案是使用CROSSTOOL文件.您可能会发现有关CROSSTOOL维基页面的信息.为了帮助您入门,您可以阅读使用自定义工具链维基页面构建.要了解Bazel在为您自动生成crosstool时所做的事情,您可以阅读有关自动配置的博客文章.要获得有关如何编写功能和action_configs的更多示例,请查看CppActionConfigs.java.
或者,只需build --cxxopt='-std=c++11'
输入.bazelrc(存储在您的家中或WORKSPACE文件所在的文件夹中).
小智 9
将其添加到.bazelrc
您的旁边WORKSPACE
:
build --action_env=BAZEL_CXXOPTS="-std=c++20"
Run Code Online (Sandbox Code Playgroud)
如果要设置多个选项,请用冒号分隔它们:
build --action_env=BAZEL_CXXOPTS="-std=c++20:-Werror"
Run Code Online (Sandbox Code Playgroud)
这是一种解决方法,因为 bazel 设置了一个环境变量,然后 bazel 使用该环境变量。但它有效。
顺便说一句:我build --cxxopt=-std=c++20
没有.bazelrc
工作。
bazel build --cxxopt='-std=c++11' main:hello-world
这可行,但我想知道是否有办法cxxopt
全局设置,如CMAKE_CXX_FLAGS
.
归档时间: |
|
查看次数: |
6250 次 |
最近记录: |