2017-01-03 53 views
0

我想知道當我檢查gcc/g ++和clang/clang ++的版本時,「--version」輸出之間的區別是什麼,我知道它應該是彼此的鏈接。此外,我還不清楚是否有某種方法可以更新我在Mac OSX 10.9上鎖定的內容。這個問題有點太多了,但總而言之,我正在準備玩SDL。我一直在發佈控制檯輸出和評論,這是最好的。我認爲我有一些誤解需要排序;我沒有看在堆棧溢出類似的網頁,但沒有討論的相當回答我的問題在Mac 10.9 Mavericks是不同於gcc鏈接配置的clang配置?

$ gcc --version 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 

好,所以這是一個比較舊的版本, 是否有更新的一切安全的方式,還是我係統鎖定? 我記得我的系統

Target: x86_64-apple-darwin13.4.0 
Thread model: posix 


$ g++ --version 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 

4.2.1上安裝命令行工具和Xcode中,6.2的最新版本,可用?我安裝了Xcode 6.2。我是想重建一些東西嗎?

Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.4.0 
Thread model: posix 

$ clang --version 
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.4.0 
Thread model: posix 

$ clang++ --version 
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.4.0 
Thread model: posix 

鐺打印輸出告訴我什麼關於Xcode版本,所以我不知道這裏是否有區別。

總之,我的意思是更新或安裝一些東西,所以我有一組更新的編譯器,或者我設置了?上面的gcc/g ++和clang/clang ++信息的真正區別是什麼?最後,可以我更新了,如果是,以什麼方式,我可以這樣做,沒有任何負面影響?

如果問題有點太籠統/多雲,請事先道歉。我只是想確保我對這些消息有正確的理解並知道如何進行。 謝謝。

+0

http://stackoverflow.com/questions/8674546/how-to-update-llvm-clang-on-mac-osx回答我的問題的一部分:最好留在編譯器的出貨版本,但這仍然不能幫助我判斷我是否可以使用自制軟件來安裝新版本(如何繼續)以及如何在編譯期間指定它們。嗯 – synchronizer

回答

1
  1. 在一個現代的Mac系統,gccclang的別名,g++clang++的別名。

  2. 它們也是Xcode的組件(或者Xcode命令行工具,如果你安裝了這些的話)。安裝的clang版本依賴於(但不相同)您已安裝的Xcode版本。

  3. 您正在查看的「4.2.1」是C++頭文件的版本。它只會讓你迷惑。忽略它。

如果你希望編譯器的新版本,你需要安裝的Xcode的新版本,而要做到這一點,你需要安裝MacOS的較新版本。

+0

謝謝你的清晰和簡潔的答案。我意識到別名,但不知道我是否被我的編譯器版本卡住了。我想我還有另一個使用Linux的理由! (我不升級mac電腦。) – synchronizer