私はC++に少し慣れていません。 CMakeでC++バージョンを設定する方法は知っていますが、BazelでC++バージョンを設定する方法がわかりません。
cc_libary
のcopts
パラメータで設定されるかもしれませんが、すべてのcc_libary
でこれを設定する必要がありますか?
したがって、BazelでC++ツールチェーンを指定するための堅牢なソリューションは、CROSSTOOLファイルを使用することです。 CROSSTOOLについて wikiページが役立つかもしれません。開始するには、 カスタムツールチェーンを使用したビルド wikiページを読むことができます。クロスツールを自動生成するときにBazelが何をするかを確認するには、 自動構成に関するブログ投稿 を読んでください。また、機能とaction_configsの記述方法に関するその他の例を入手するには、 CppActionConfigs.Java を参照してください。
または、build --cxxopt='-std=c++11'
を.bazelrc(自宅またはWORKSPACEファイルがあるフォルダーに保存されている)に配置するだけです。
bazel build --cxxopt='-std=c++11' main:hello-world
これは機能しますが、CMAKE_CXX_FLAGS
のように、このcxxopt
をグローバルに設定する方法があるのではないかと思います。