私はArchx64でbspwmをWMとして使用しています。 gccとclangをインストールし、最新バージョンに更新しました。私はビルドシステムがコンパイルのためにg ++を選択するかclang ++を選択するかを毎回尋ねたいと思います。
私のタスクのデフォルトのコンパイラとしてclang ++が必要ですが、通常はコンパイラ自体を選択するcmakeがあります。だからclangC
とCXX
clang ++にエクスポートしました.bashrc
。すべてが期待どおりにうまく機能しますが、/usr/bin/c++
g ++で何かをコンパイルする必要があり、プログラムがg ++の代わりにclang ++を見つけて見つけると問題が発生します。プログラムがそのエントリをコンパイルしようとするたびに、どのコンパイラを使用するかを事前に確認できる必要があります。可能ですか?
私の現在のアプローチは、毎回私のコンピュータをエクスポートして再起動することです。 p これはとても愚かなことです。
ベストアンサー1
実際、普遍的な答えはありません。ツールがツールの使用に固執する場合、ツールはそうします。
環境変数の設定に効果がある場合は、再起動する必要はありません。次のように簡単にコマンドを呼び出すことができます。
CXX=g++ cmake ...
これで cmake が実行され、CXX 環境変数が g++ に設定されます。
必要な作業を実行するには、/usr/bin/c++
必要なコンパイラ(またはツールに必要なすべてのコマンド)を必要なシェルスクリプトの置き換えでそれを実行してから、そのコンパイラを呼び出すことができます。 - しかし、その道に行くことにした場合は、自分が何をしているのかを確認してください。