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 这样的 IDE 驱动它时,但我的假设是编译器和链接器(GCC G++)没有为 C++11 配置,尽管我尝试了来自 SO 和 Eclipse 论坛的各种建议,比如添加 -std=c++11,但我只是一直看到输出说它们是无法识别的参数。

我敢肯定有人已经处理过这个问题。任何人都可以帮忙吗?提前致谢。

4

1 回答 1

2

在 Mac 上,你必须使用标志:
-stdlib=libc++
即使那样,我相信通常只有 clang 更新足够(所以使用 clang 而不是 gcc),如果你刚刚使用 Xcode 更新。您还应该确保您的 Xcode 命令行工具已更新,因为我猜这是 eclipse 正在使用的编译器。

于 2013-07-27T19:25:39.117 回答