Unbestimmten Verweis auf std :: thread :: _ M_start_thread @ erhalt

Ich erstelle eine App, die eine Drittanbieter-Bibliothek (Box2D-MT) verwendet, die ich aus Quellen erstellt habe. Beim Verlinken erhalte ich diesen undefinierten Referenzfehler:

b2Threading.cpp:(.text._ZNSt6threadC2IM12b2ThreadPoolFviEJPS1_iEEEOT_DpOT0_[_ZNSt6threadC5IM12b2ThreadPoolFviEJPS1_iEEEOT_DpOT0_]+0xa4): 
undefined reference to 'std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)())'

Ich baue mit g ++ und verbinde mit

-lBox2D -lpthread -lrt -ldl -lstdc++

auch ich kompiliere mit

-std=c++11

enn ich in libstdc ++ schaue, sehe ich, dass es ein ähnliches Symbol gibt (es ist "T"):

nm -C /usr/lib/gcc/x86_64-linux-gnu/4.9.2/libstdc++.a | grep _M_start_thread
0000000000000000 T std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>)

Aber diese Überladung benötigt keinen zweiten Parameter.

Ich habe das ganze Internet nach etwas Ähnlichem durchsucht, aber niemand scheint dieses Problem zuvor gehabt zu haben (in irgendeinem Zusammenhang).

Irgendein Hinweis, warum ich diesen Fehler bekomme und wie ich ihn beheben könnte?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage