私のプロジェクトでは、静的なリンケージ用にコンパイルされたときにコードをコンパイルするときに定義を追加する必要があります。それが-DSTATIC_COMPILATION
と仮定しよう。Bazelビルドによる静的コンパイルのための特定のコンパイルフラグの送信
私の質問:リンケージバインディングに基づいて静的リンケージまたはコンパイルフラグを要求するときにコンパイルフラグを制御できますか?
は私が行うことができます知っていると存じ:
- は
bazel build --config=static_comp
を渡すことによって、このような構成を提供することができますbazelrcファイルの設定コマンドラインにbazel build
- を
--copt '-DSTATIC_COMPILATION'
を追加 - いいですが、私は」このパッケージを外部パッケージとして使用するときに他のパッケージに渡すかどうかわかりません - ここで間違っている可能性があります...
私は何ですか? ssing?
これらの定義が存在する理由は、動的および静的リンケージのコードが少し違うようにするためです。これは、実行時に動的にライブラリをロードすることに関連しています。静的フレーバーの場合、ライブラリーはロードされず、ロードされてはいけませんが、コードは呼び出す関数を見つける必要があります。 –