以下是我的第一个多线程程序。但是在编译时,出现了链接错误。错误信息的部分:
std::thread::thread<void (&)(int), int&>(void (&)(int), int&):
test.cpp (.text._ZNSt6threadC2IRFviEJRiEEEOT_DpOT0_[_ZNSt6threadC5IRFviEJRiEEEOT_DpOT0_]+0x33): undefined reference pthread_create
collect2: error ld return 1
Run Code Online (Sandbox Code Playgroud)
#include<thread>
void f(int i) {}
int main() {
std::thread t(f, 1);
t.join();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您需要将 with-pthread
作为编译选项进行编译。
我让你的代码用这个编译(虽然我添加了-Wall
函数来给我所有警告通知):
g++ -pthread -out foo.exe foo.cpp
Run Code Online (Sandbox Code Playgroud)
(foo.cpp
我使用的包含您的代码的输入文件名在哪里)
归档时间: |
|
查看次数: |
9090 次 |
最近记录: |