[英]How to use pthread on Qt Creator
我要执行以下代码。
#include <iostream>
#include <thread>
void output() {
std::cout << "Hello World" << std::endl;
}
int main()
{
std::thread t(output);
t.join();
return 0;
}
我无法执行。
抛出'std :: system_error'what()实例之后,Qt Creator输出终止被调用what():不允许的操作
但是我可以使用-pthread选项在终端上执行。 您能告诉我如何在Qt Creator中使用-pthread选项吗?
我的开发环境是Ubuntu(12.04),g ++ 4.6.3,Qt Creator(2.4.1)。
谢谢。
您还需要针对-pthread
进行链接。 如果您使用g++ main.cpp -std=c++0x -pthread
那么您将一步完成所有操作,因此它可以正常工作。 为了使Qt做正确的事,将以下内容添加到您的项目文件中:
QMAKE_CXXFLAGS += -std=c++0x -pthread
LIBS += -pthread
这对我有用:
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
SOURCES += test.cpp
QMAKE_CXXFLAGS += -std=gnu++0x -pthread
QMAKE_CFLAGS += -std=gnu++0x -pthread
您的示例使用我的系统上的上述.pro文件编译并正确执行。
尝试将示例另存为test.cpp,将上面的另存为project.pro。 然后输入:
$ qmake
$ make
$ ./project
Hello World
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.