我刚刚从 Ubuntu 软件中心在 Ubuntu RR 上安装了 QtCreator(使用 MinGW)。我有一些使用 C++11 功能的代码,特别是:
强类型枚举 - 即:枚举类 Color {RED, GREEN, BLUE}
std::shared_ptr 类型,包含在 memory.h 中。
这段代码根本不使用 Qt。这是一个简单的控制台应用程序,它使用 CodeBlocks/MinGW 和 CodeLite/MinGW 编译和运行良好,并启用了 C++ 11 编译器指令。
当我尝试从 QtCreator 中的相同代码构建项目时(QtCreator 中的简单 C++ 控制台项目),我收到警告,强类型枚举需要 C++11,默认情况下启用。并且编译器根本无法识别 shared_ptr 类型 - 无法编译。
怎么了?我需要设置另一个编译器选项吗?该错误消息似乎表明默认情况下启用了 C++11。还有什么?我是 QtCreator 的新手 - 甚至找不到在哪里设置编译器标志并删除有关枚举的警告。这些设置在哪里?
最重要的是:我需要做什么才能让编译器识别 std::shared_ptr 类型?