Toto je můj první vícevláknový program. Ale když byl kompilován, došlo k chybě propojení. Část chybové zprávy:
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
#include<thread>
void f(int i) {}
int main() {
std::thread t(f, 1);
t.join();
return 0;
}
Přijatá odpověď:
Musíte kompilovat pomocí -pthread
jako možnost kompilace.
Dostal jsem váš kód ke kompilaci s tímto (i když jsem přidal -Wall
funkce, která mi zobrazí všechna varovná upozornění):
g++ -pthread -out foo.exe foo.cpp
(kde foo.cpp
byl vstupní název souboru, který jsem použil obsahující váš kód)
Jak upgradovat Node.js z 4.2 na 6.11.0 na Ubuntu 16.04?
Zasekl se správce aktualizací při instalaci balíčku pro upgrade z 13.10 na 14.04?