web-dev-qa-db-ja.com

BazelでビルドするときにC ++標準バージョンを設定するにはどうすればよいですか?

私はC++に少し慣れていません。 CMakeでC++バージョンを設定する方法は知っていますが、BazelでC++バージョンを設定する方法がわかりません。

cc_libarycoptsパラメータで設定されるかもしれませんが、すべてのcc_libaryでこれを設定する必要がありますか?

12
ryancheung

したがって、BazelでC++ツールチェーンを指定するための堅牢なソリューションは、CROSSTOOLファイルを使用することです。 CROSSTOOLについて wikiページが役立つかもしれません。開始するには、 カスタムツールチェーンを使用したビルド wikiページを読むことができます。クロスツールを自動生成するときにBazelが何をするかを確認するには、 自動構成に関するブログ投稿 を読んでください。また、機能とaction_configsの記述方法に関するその他の例を入手するには、 CppActionConfigs.Java を参照してください。

または、build --cxxopt='-std=c++11'を.bazelrc(自宅またはWORKSPACEファイルがあるフォルダーに保存されている)に配置するだけです。

12
hlopko

bazel build --cxxopt='-std=c++11' main:hello-worldこれは機能しますが、CMAKE_CXX_FLAGSのように、このcxxoptをグローバルに設定する方法があるのではないかと思います。

5
ryancheung