2013-07-27 31 views
2

我在OSX Mountain Lion上使用Eclipse Juno並希望使用std :: regex,我知道它是一個C++ 11特性。當我#include <regex> IDE說它不存在。也許值得注意的是,頭文件regex.h存在於/ usr/include /中,儘管我沒有在/ usr/lib /或/ usr/local/lib /中看到它的具體庫,儘管我不知道這是否是相關。這只是一個有趣的副項目,所以我沒有使用自定義的構建系統,而只是Eclipse中的常規C++項目。爲什麼Eclipse無法在Mac OSX上找到正則表達式?

我當它涉及到修改生成過程,尤其是在像Eclipse的IDE是駕駛它(不是設置包括路徑,圖書館等除外),但我的假設是不是在真正經歷過的編譯器和鏈接(GCC G ++)沒有配置爲C++ 11,儘管我已經嘗試了各種來自SO和Eclipse論壇的建議,例如添加-std = C++ 11,但我只是看到輸出說他們無法識別參數。

我敢肯定有人在那裏已經處理了這個問題。誰能幫忙?提前致謝。

+0

難道我的回答幫助你,我有同樣的問題了一會兒 – aaronman

回答

2

在Mac上,你必須使用標誌:
-stdlib=libc++
即使在那時,我相信一般只鐺就夠了更新(因此使用鐺,而不是GCC),如果你剛剛被使用Xcode更新。您還應該確保您的Xcode命令行工具已更新,因爲我猜測這是eclipse正在使用的編譯器。

+0

您好我不檢查你的答案越早道歉。我不是XCode的普通用戶,但它是我最初用來安裝gcc來構建其他項目的。我已經檢查過,命令行工具也是最新的。至於使用clang而不是gcc,我不確定如何在Eclipse中更改它(工具鏈編輯器不顯示clang)。由於clang是gcc兼容的,我假設Eclipse認爲它使用gcc而不是clang。現在我已經使用子字符串來解決一些正則表達式的需求。但在未來,這將有所幫助。 –

+0

@JoeyCarson只記得海灣合作委員會的正則表達式實現甚至不工作,如果你有它更新,所以如果你不知道如何使用鏗鏘正則表達式不會工作 – aaronman

+0

我注意到我在/ usr/bin中的gcc安裝確實是gcc 4.2,它根據文檔不支持cpp 11甚至實驗支持。我使用brew安裝了gcc 4.7,但現在看來我有兩個gcc安裝。 –

相關問題