我刚刚在Ubuntu软件中心的Ubuntu RR上安装了QtCreator(使用MinGW)。我有一个使用特征从C++ 11的一些代码,具体有:使用MinGW的QtCreator找不到std :: shared_pointer
强类型枚举 - 即:枚举类颜色{红,绿,蓝}
的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类型?
包括我已经有 - 它在其他IDE中构建得很好,而QtCreator的问题与头部样式不同 - 我使用** #include **。我只需要添加QMAKE_CXXFLAGS + = -std = c + + 11到.pro文件,它的内置和运行良好。 –
Vector