Qt Creator 2.7.0 (Qt 5.0.2) 中的 C++11 线程支持
Posted
技术标签:
【中文标题】Qt Creator 2.7.0 (Qt 5.0.2) 中的 C++11 线程支持【英文标题】:C++11 thread support in Qt Creator 2.7.0 (Qt 5.0.2) 【发布时间】:2013-05-16 23:47:50 【问题描述】:我正在尝试使线程在 Ubuntu 下的 Qt Creator 中工作。我设置了
QMAKE_CXXFLAGS += -std=c++11 -pthread -lpthread
CXXFLAGS += -std=c++11 -pthread -lpthread
但它仍然不会工作,会写
terminate called after throwing an instance of ‘std::system_error’
what(): Operation not permitted
我尝试编译的文件是这个
#include <iostream>
#include <thread>
using namespace std;
void fun()
int main()
thread th(&fun);
cout << "Hello World!" << endl;
return 0;
【问题讨论】:
你安装的gcc版本有c++11吗? 确实如此。我已经回答了我的问题,见下文。 【参考方案1】:我必须将以下行添加到 myProject.pro 文件中
LIBS += -pthread
所以它现在可以使用这两行
QMAKE_CXXFLAGS = -std=c++11
LIBS += -pthread
【讨论】:
有趣,我通常只做 "QMAKE_CXXFLAGS += -std=c++11" 就这样 Compiler flags != Linker flags LIBS 将标志添加到链接器,QMAKE_CXXFLAGS 或 CXXFLAGS 将标志添加到编译器!以上是关于Qt Creator 2.7.0 (Qt 5.0.2) 中的 C++11 线程支持的主要内容,如果未能解决你的问题,请参考以下文章
imx6ull应用开发 | 移植Qt 5.12.9到imx6ull并搭建qt creator开发环境
imx6ull应用开发 | 移植Qt 5.12.9到imx6ull并搭建qt creator开发环境