如何使用Qt Creator编译C++11代码

Qt讷讷熊 2015-06-04 10:32:59
我现在使用Qt Creator 3.1 GCC编译器 4.9.2 直接使用g++ 命令行下编译没问题. 使用QtCreator集成环境却有问题.
-- 代码:
string str("some string");
for (auto c : str)
{
cout << c << endl;
}

-- 命令行下编译链接正确, 执行也没问题.
D:\Qt\CPlus11Wmd>g++ main.o -o test.exe

D:\Qt\CPlus11Wmd>g++ -std=c++11 -c main.cpp

D:\Qt\CPlus11Wmd>g++ main.o -o test.exe

D:\Qt\CPlus11Wmd>gcc --version
gcc (tdm-1) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-- 集成环境下编译报错
.pro文件已增加:CONFIG += c++11
...全文
7025 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cccc_cat 2017-07-31
  • 打赏
  • 举报
回复
真的可以!多谢啦
islinyoubiao 2016-07-04
  • 打赏
  • 举报
回复
学习了,非常多谢
zhuwuzhu 2015-09-15
  • 打赏
  • 举报
回复
我知道了,不是QT的问题,虽然书上写了智能指针可以这样初始化,但实际在类的头文件中这样初始化会语法报错的,这一点书上没写。 头文件中默认初始化只能这样来写:
std::shared_ptr<int> ptui=std::make_shared(1024);
Qt讷讷熊 2015-06-05
  • 打赏
  • 举报
回复
引用 8 楼 dext 的回复:
QMAKE_CXXFLAGS += -std=c++11
谢谢版主 .pro文件添加后解决问题了. CONFIG += c++11 加不加无所谓.
Qt讷讷熊 2015-06-04
  • 打赏
  • 举报
回复
引用 6 楼 jiqiang01234 的回复:
[quote=引用 5 楼 godenkiss 的回复:] [quote=引用 4 楼 jiqiang01234 的回复:] 应该是你的Qt Creator没有使用正确的gcc所致,也就是你认为的gcc (tdm-1) 4.9.2。 你没有用Qt自带的gcc吗?
低版本的Qt Creator都没有自带GCC的, 都是另装的. 实在不行我就下个最新的Qt吧. 公司网络很差 下载不全就断了,还不能用迅雷等工具. 哎.[/quote] 不是Qt Creator自带编译器,是Qt SDK自带编译器。你用的什么版本的SDK?[/quote] 就是Qt4.8.4 for windows
jiqiang01234 2015-06-04
  • 打赏
  • 举报
回复
引用 5 楼 godenkiss 的回复:
[quote=引用 4 楼 jiqiang01234 的回复:] 应该是你的Qt Creator没有使用正确的gcc所致,也就是你认为的gcc (tdm-1) 4.9.2。 你没有用Qt自带的gcc吗?
低版本的Qt Creator都没有自带GCC的, 都是另装的. 实在不行我就下个最新的Qt吧. 公司网络很差 下载不全就断了,还不能用迅雷等工具. 哎.[/quote] 不是Qt Creator自带编译器,是Qt SDK自带编译器。你用的什么版本的SDK?
Qt讷讷熊 2015-06-04
  • 打赏
  • 举报
回复
引用 4 楼 jiqiang01234 的回复:
应该是你的Qt Creator没有使用正确的gcc所致,也就是你认为的gcc (tdm-1) 4.9.2。 你没有用Qt自带的gcc吗?
低版本的Qt Creator都没有自带GCC的, 都是另装的. 实在不行我就下个最新的Qt吧. 公司网络很差 下载不全就断了,还不能用迅雷等工具. 哎.
jiqiang01234 2015-06-04
  • 打赏
  • 举报
回复
应该是你的Qt Creator没有使用正确的gcc所致,也就是你认为的gcc (tdm-1) 4.9.2。 你没有用Qt自带的gcc吗?
彩阳 2015-06-04
  • 打赏
  • 举报
回复
换4.8.2或者以上吧。 然后CONFIG += c++11。
Qt讷讷熊 2015-06-04
  • 打赏
  • 举报
回复
引用 1 楼 jiqiang01234 的回复:
是不是装了多个mingw gcc,导致Qt Creator没有设置正确编译器?
确实之前装的是GCC4.4, 不支持C++11的版本. 但使用QtCreator自动检测点的两个GCC编译器编译非C++11代码都能编译通过啊. 而且现在环境变量里老版本路径也被我删除掉了,系统也重启过了. 搞不懂还有哪有问题.
jiqiang01234 2015-06-04
  • 打赏
  • 举报
回复
是不是装了多个mingw gcc,导致Qt Creator没有设置正确编译器?
dext 2015-06-04
  • 打赏
  • 举报
回复
QMAKE_CXXFLAGS += -std=c++11

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧