regex - 为什么 Eclipse 在 Mac OSX 上找不到正则表达式?

标签 regex eclipse c++11 osx-mountain-lion

我正在 OSX Mountain Lion 上使用 Eclipse Juno,并且想要使用 std::regex,我知道这是 C++11 独有的功能。当我 #include <regex> IDE 说它不存在。也许最好注意到 header regex.h 存在于/usr/include/中,尽管我在/usr/lib/或/usr/local/lib/中没有看到它的特定库,但我不知道这是否是相关的。这只是一个有趣的副项目,所以我没有使用定制的构建系统,只是 Eclipse 中的常规 C++ 项目。

在修改构建过程(除了设置包含路径、库等)方面,我并没有真正的经验,特别是当像 Eclipse 这样的 IDE 驱动它时,但我的假设是编译器和链接器( GCC G++) 没有为 C++11 配置,尽管我尝试了 SO 和 Eclipse 论坛的各种建议,例如添加 -std=c++11,但我只是不断看到输出说它们是无法识别的参数.

我确信有人已经处理过这个问题。有人可以帮忙吗?提前致谢。

最佳答案

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

关于regex - 为什么 Eclipse 在 Mac OSX 上找不到正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901572/

相关文章:

sql - 从 SQL Server 列中删除 HTML

java - 如何在 Java 注释处理器中获取正确的 JavaFileManager?

java - 跨 Eclipse 插件共享域对象的最佳方式?

python - 如何在 Python 进程中访问由 C++ 进程创建的互斥体?

javascript - 正则表达式无效量词

regex - 用 vim 替换单词边界

c++ - 如何通过模板参数的可变列表向后迭代(递归)?

c++ - istream_iterator 尝试解析无效数据

具有两个或多个符号的 Java 正则表达式问题

c++ - Eclipse CDT C++ - [Main] 程序未指定