Eclipse Luna无法解析c ++ 11函数“stoi”

时间:2015-10-08 19:38:31

标签: c++ eclipse c++11 gcc eclipse-luna

我正在尝试使用stoi和stod但是eclipse不会让我。我正在使用带有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”标志添加到那里的调用参数。 linse现在是${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.条目中。它也是唯一选中的条目。

我在尝试的每一步之后重建索引器和项目本身。没有帮助。 我不知道还有什么要做......

* PS我已经包含了std和字符串库并使用了命名空间std

2 个答案:

答案 0 :(得分:0)

stoistod 不是标准功能。尝试使用boost来实现此功能。

编辑:我猜c ++ 11确实包含了这些功能。你确定使用std::吗? 另外,请确保至少使用gcc 4.7

我之前听说过eclipse遇到c ++ 11标准问题。除非所有这些都不起作用,否则您能够使用boost::lexical_cast

答案 1 :(得分:0)

以下方法适用于我。

转到项目 - >属性 - > C / C ++一般 - >路径和符号 - >标签[符号] - > GNU c ++。

添加符号:

__ cplusplus,其值为201103L