CMakeなどのビルドシステムでどのコンパイラが選択されているかに影響を与える方法

CMakeなどのビルドシステムでどのコンパイラが選択されているかに影響を与える方法

私はArchx64でbspwmをWMとして使用しています。 gccとclangをインストールし、最新バージョンに更新しました。私はビルドシステムがコンパイルのためにg ++を選択するかclang ++を選択するかを毎回尋ねたいと思います。

私のタスクのデフォルトのコンパイラとしてclang ++が必要ですが、通常はコンパイラ自体を選択するcmakeがあります。だからclangCCXXclang ++にエクスポートしました.bashrc。すべてが期待どおりにうまく機能しますが、/usr/bin/c++g ++で何かをコンパイルする必要があり、プログラムがg ++の代わりにclang ++を見つけて見つけると問題が発生します。プログラムがそのエントリをコンパイルしようとするたびに、どのコンパイラを使用するかを事前に確認できる必要があります。可能ですか?

私の現在のアプローチは、毎回私のコンピュータをエクスポートして再起動することです。 p これはとても愚かなことです。

ベストアンサー1

実際、普遍的な答えはありません。ツールがツールの使用に固執する場合、ツールはそうします。

環境変数の設定に効果がある場合は、再起動する必要はありません。次のように簡単にコマンドを呼び出すことができます。

CXX=g++ cmake ...

これで cmake が実行され、CXX 環境変数が g++ に設定されます。


必要な作業を実行するには、/usr/bin/c++必要なコンパイラ(またはツールに必要なすべてのコマンド)を必要なシェルスクリプトの置き換えでそれを実行してから、そのコンパイラを呼び出すことができます。 - しかし、その道に行くことにした場合は、自分が何をしているのかを確認してください。

おすすめ記事