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?
Cảm ơn bạn, đó là giải pháp \ o / – Harry333Cover