【发布时间】:2013-04-23 04:37:31
【问题描述】:
在从 Indigo 切换后,Ubuntu 12.04 中的最新 Eclipse Juno 面临各种问题。
我在以下位置设置了标志:
项目 -> 属性 -> C/C++ 构建 -> 设置 -> 工具设置 -> 跨 G++ 编译器
- -> 其他:
-std=c++11 - -> 预处理器:
__GXX_EXPERIMENTAL_CXX0X__(也在 C/C++ General -> Paths and Symbols 中设置)
目前,我正在编译在 Indigo 中使用 C++03 可以正常编译的代码。更改为 C++11 后,我确实遇到了一些可能是由于 g++ 扩展引起的错误,我已经修复了它们。
下面是我要解决的问题:
- 如果我切换回正常的 C++ 编译,则会收到一个错误:
This file requires compiler and library support for the \ ISO C++ 2011 standard. This support is currently experimental, and must be \ enabled with the -std=c++11 or -std=gnu++11 compiler options.来自 文件c++0x_warning.h。即使有错误也不会消失 清理构建或重新启动 Eclipse。 - 调试未按预期工作。执行确实停止在给定 断点,但是当我将鼠标悬停在变量上时,它不会 显示任何值。在 Indigo 中,它曾经展示过它。做了很多试验和 Eclipse 的各种设置中的错误,但没有运气。还检查了, 窗口 -> 首选项 -> C/C++ -> 悬停,但无法更改 什么都有。
- 包含
<unrodered_map>工作正常,但如果std::unordered_map<>被使用然后它开始给出错误。目前, 我最不关心这个问题。
如果有人可以建议一个链接或方法来使用 Eclipse (Juno) 进行有效的调试,那么它也将对未来的访问者有很大的帮助。
注意:我在 SO 中提到了几个线程,但没有一个有用:
Eclipse CDT C++11/C++0x support
Cannot set Eclipse Juno C++ with std=c++11
Eclipse CDT Juno - Toolchain issue
【问题讨论】:
-
附加信息:编译器是 g++ 4.8.0。
-
放弃日食。救自己。
-
我也遇到了同样的问题,等我自己检查完再给你答案。
标签: c++ eclipse c++11 eclipse-cdt eclipse-juno