【问题标题】:Eclipse Luna can't resolve c++11 function "stoi"Eclipse Luna 无法解析 c++11 函数“stoi”
【发布时间】:2016-01-06 14:15:05
【问题描述】:

我正在尝试使用 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 标志在Preprocessor Include Paths, Macros etc. 下提供程序选项卡的CDT GCC Built-in Compiler Settings 条目中打开,它也是唯一选中的条目。

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

*PS 我已经包含了 std 和 string 库,并使用了命名空间 std

【问题讨论】:

  • 健全性检查:你做了#include <string> 对吗?
  • 是的,我在编辑中写了一些原因,它没有显示

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


【解决方案1】:

stoistod标准函数。尝试使用 boost 来实现此功能。

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

我之前听说过 eclipse 在使用 c++11 标准时遇到问题。除非所有这些都不起作用,你可以使用boost::lexical_cast吗?

【讨论】:

  • 我正在使用命名空间本身(也尝试过 ::),我的 gcc 版本是 5.something
【解决方案2】:

以下方法对我有用。

转到项目 -> 属性 -> C/C++ 常规 -> 路径和符号 -> 选项卡 [符号]--> GNU c++。

添加符号:

__cplusplus 值为 201103L

【讨论】:

    猜你喜欢
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    相关资源
    最近更新 更多