2012-10-15 33 views
9

我試圖用-dumpversion來確定編譯器是否可用。 我的項目與clang和更新的gccs編譯,但不是與舊的gcc 4.2.1編譯。爲什麼clang -dumpversion報告4.2.1

那麼爲什麼鏗鏘假裝是一箇舊的gcc?

額外的問題,是否可以在運行時更改此值?

還是有人有一個不錯的autoconf宏來確定編譯器版本與鏗鏘和gcc?

+3

你需要什麼樣的新編譯器?爲此測試,而不是針對哪個編譯器正在使用。 –

回答

6

鏗鏘最初被寫爲與gcc 4.2.1兼容。關於今年早些時候更新該數字的問題已有some discussion,但有問題。

對於autoconf檢查,clang建議使用其__has_feature extension。 Clang的文件也有list of things you can check with __has_feature

+1

g_是否也支持__has_feature? – arved

+0

我不這麼認爲。 – thakis

+0

__has_feature如果還保留了__has_bug()屬性列表,那麼它將很好。大多數情況下,當我必須更改我的makefile時,這是因爲我必須針對某些編譯器特定的錯誤執行解決方法。 – jstine

相關問題