スレッドを作成し、そのクラスのメンバとして参照を保持しようとしています。スレッドはクラスのメソッドを呼び出します。コードは次のとおりです。クラスデータメンバとしてスレッドを作成
EventQueue::EventQueue() {
this->dispatcherThread = std::thread(&EventQueue::dispatchEvent, std::ref(*this));
this->dispatcherThread.join();
}
私はビルドを行うためにQtCreatorを使用しています。このエラーが発生します:
/home/eventqueue.o:-1: In function
std::thread::thread<void (EventQueue::*)(), std::reference_wrapper<EventQueue> >(void (EventQueue::*&&)(), std::reference_wrapper<EventQueue>&&)': /usr/include/c++/4.9/thread:136: error: undefined reference to
pthread_create' :-1: error: collect2: error: ld returned 1 exit status
問題:
私はこの投稿に参照した Storing an std::thread object as a class member
私はいつも
あなたがpthread' 'とリンクしていないようです。 – Jarod42