2014-06-29 47 views
3

我刚刚在Centos上安装了gcc 4.8.2(我正在使用devtoolset-2)。我使用线程编写了一个非常简单的程序。它编译罚款,但执行时崩溃?Linux上的gcc 4.8.2 - 使用线程崩溃的简单程序

#include <thread> 
#include <iostream> 

void test() 
{ 
    std::cout << "test\n"; 
} 

void main() 
{ 
     std::thread t(test); 
     t.join(); 
     return 0; 
} 

我编译:

scl enable devtoolset-2 bash 
c++ -o test test.cpp -std=c++11 

我非常惊讶。我必须做一些错误的事情,而不是使用写入libC++等?你有什么想法我可以调试这个。谢谢! 我在Mac(Maverick)上编译它显然不使用gcc,它工作正常。

+4

尝试添加命令行选项'-pthread' - 当然还有'-Wall'。 – nosid

+0

非常感谢你,我不知道在Linux上你还需要使用pthread和线程吗?非常感谢你。 – user18490

+1

'main()'将返回'int'。 – alk

回答