Gcc

如何影響 CMake 等建構系統選擇的編譯器

  • February 8, 2015

我在 Archx64 上使用 bspwm 作為 WM。我安裝了 gcc 和 clang 並更新到最新版本。我希望建構系統每次都要求我選擇 g++ 或 clang++ 進行編譯。

我需要 clang++ 作為我自己的東西的預設編譯器,但我有 cmake 通常自己選擇編譯器。所以CCXX.bashrc. 一切都按預期執行,但是當我需要用 g++ 編譯某些東西並且程序尋找/usr/bin/c++並找到 clang++ 而不是 g++ 時,問題就出現了。我需要,每次某個程序嘗試編譯它的東西時,它可以事先詢問我要使用哪個編譯器。是否可以?

我目前的方法是每次都導出並重新啟動我的機器:p,這是非常愚蠢的。

沒有真正的普遍答案。如果某個工具堅持使用某個工具,它就會這樣做。

如果設置環境變數對您有用,則無需重新啟動。您可以像這樣簡單地呼叫您的命令:

CXX=g++ cmake ...

這將在 CXX 環境變數設置為 g++ 的情況下執行 cmake。


如果你真的想做你所要求的,你可以用/usr/bin/c++一個 shell 腳本替換(或你的工具需要的任何命令),詢問所需的編譯器,然後呼叫該編譯器。- 但如果你決定走那條路,一定要確定你知道你在做什麼。

引用自:https://unix.stackexchange.com/questions/183622