[英]Eclipse Luna can't resolve c++11 function “stoi”
我正在嘗試使用stoi和stod,但日食會讓我失望。 我正在使用帶有minGW最新版本的Eclipse Lina(在Win 8.1上)。
這是我嘗試過的:
C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous -> Other Flags
。 放-std = c ++ 11
C/C++ General -> Paths and Symbols -> Symbols -> GNU C++
。 單擊“添加...”,然后將__GXX_EXPERIMENTAL_CXX0X__
(確保在兩個下划線之前添加並加前綴)粘貼到“名稱”中,並將“值”留為空白。
轉到Project -> Properties -> C/C++ General -> Path and Symbols -> Tab [Symbols]
。 添加符號: __cplusplus
,值為201103L
Window->Properties-> C/C++ -> Setting -> Build-> Discovery Options-> CDT GCC Built-in Compiler Setting
,並將“ -std = c ++ 11”標志添加到那里的調用參數。 現在,麻線為${COMMAND} ${FLAGS} -E -P -v -dD -std=c++11 "${INPUTS}"
Properties -> C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Dialect
將-std=c++11
放入標題為其他方言標志的文本框中,或從語言標准下拉列表中選擇ISO C++11
。
-std=c++11
標志在“ CDT GCC Built-in Compiler Settings
條目中的“提供程序”選項卡上的“ Preprocessor Include Paths, Macros etc.
下處於啟用狀態Preprocessor Include Paths, Macros etc.
它也是唯一選中的條目。
我嘗試執行的每一步后都會重建索引器和項目本身。 沒有幫助 我不知道該怎么辦...
* PS我包括了std和字符串庫,並使用了命名空間std
stoi
和stod
不是標准功能。 嘗試使用boost
實現此功能。
編輯:我想C ++ 11確實包含了這些功能。 您確定要使用std::
嗎? 另外,請確保您至少使用了gcc 4.7
我以前聽說過eclipse在使用c ++ 11標准時遇到麻煩。 除非所有這些都不起作用,您是否可以使用boost::lexical_cast
?
以下方法對我有效。
轉到項目->屬性-> C / C ++常規->路徑和符號->選項卡[符號]-> GNU c ++。
添加符號:
__cplusplus,值為201103L
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.