2017-02-04 20 views
5

Tôi có một số khó khăn khi cố gắng biên dịch một chương trình với đa luồng từ thư viện mẫu tiêu chuẩn. Nó trả lại cho tôi một lỗi khó hiểu khi tôi cố gắng để biên dịch chương trình sau đây:Vấn đề với std :: thread from C++ 11

#include <iostream> 
#include <thread> 

void foo() 
{ 
    std::cout << "Thread 1\n"; 
} 

int main(int argc, char** argv) 
{ 
    std::thread tr(foo); 
    std::cout << "Main thread\n"; 
    tr.join(); 

    return 0; 
} 

Tôi không hiểu các lỗi:

/tmp/ccE8EtL1.o : In the function « std::thread::thread<void (&)()>(void (&)()) » : 
file.cpp:(.text._ZNSt6threadC2IRFvvEJEEEOT_DpOT0_[_ZNSt6threadC5IRFvvEJEEEOT_DpOT0_]+0x21) : undefined reference to « pthread_create » 
    collect2: error : ld has return 1 execution status code 

tôi biên dịch nó với:

g ++ -std = C++ 14 tệp.cpp -o kiểm tra -Wall

Bất kỳ ai có thể trợ giúp tôi xin vui lòng?

Trả lời

Các vấn đề liên quan