1
Qtとブーストの両方を使ってコードを書いています。QT +ブーストスレッドが動作しない
私はメインスレッドで起動する必要があり、そう、私はブースト(ないQThread)を使用して、別のスレッドでいくつかのコードを実行しようとしているそのqtのウィンドウを知っています。
問題は、qtウィンドウを起動せずにコードを実行すると、問題なく動作しますが、app.exec()を呼び出すと、別のスレッド(ブースト1)が機能しなくなります。私は何が起きているのか、何か手がかりを知らないのですか?
QApplication app(argc, argv);
QMainWindow window;
//creating a separated thread and starting up
boost::thread thr1(boost::bind(&X::x, &a));
//if we join, it works
//thr1.joing()
//but if I run the following lines, my thr1 freezes
window.show();
app.exec();
どのようにブーストスレッドをリンクしますか?静的にリンクすると、ウィンドウにいくつかの問題があることがわかります。 –
CMakeLists.txtでcmakeを使用してリンクしています TARGET_LINK_LIBRARIES(プロジェクト$ {Boost_LIBRARIES}) これは動作しません。qt = –