我对 C++ 有点陌生。我知道如何使用 CMake 设置 C++ 版本,但不知道如何在 Bazel 中设置 C++ 版本。
也许在 cc_libary
中设置了 copts
参数,但我必须在每个 cc_libary
中设置它?
原文由 ryancheung 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对 C++ 有点陌生。我知道如何使用 CMake 设置 C++ 版本,但不知道如何在 Bazel 中设置 C++ 版本。
也许在 cc_libary
中设置了 copts
参数,但我必须在每个 cc_libary
中设置它?
原文由 ryancheung 发布,翻译遵循 CC BY-SA 4.0 许可协议
bazel build --cxxopt='-std=c++11' main:hello-world
这会起作用,但我想知道是否有办法在全球范围内设置这个 cxxopt
,比如 CMAKE_CXX_FLAGS
。
原文由 ryancheung 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答825 阅读
1 回答898 阅读
1 回答928 阅读
1 回答698 阅读
1 回答802 阅读
要使用 Bazel 中的默认 C++ 工具链设置标准,您可以设置环境变量
BAZEL_CXXOPTS
,例如BAZEL_CXXOPTS="-std=c++14"
。您也可以从命令行或.bazelrc
使用--repo_env=BAZEL_CXXOPTS
设置它。:
是标志分隔符。或者,您可以将
--cxxopt
传递给 Bazel,或将其放入.bazelrc
,例如--cxxopt='-std=c++11'
。在 Bazel 中指定 C++ 工具链的可靠解决方案是使用
CcToolchainConfigInfo
。请参阅 https://docs.bazel.build/versions/master/tutorial/cc-toolchain-config.html 和 https://docs.bazel.build/versions/master/cc-toolchain-config-reference 上的文档。 .html