繁体   English   中英

如何在Qt Creator上使用pthread

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM