0
我正在使用Netbeans C++創建一個小項目。我有這個簡單的代碼:cv :: namedWindow()掛起時調用
int main(int argc, char** argv) {
cv::namedWindow("Output");
// Create Receiver and Decoder on another thread
boost::thread t1 = boost::thread(startReceiver); // Details irrelevant
boost::thread t2 = boost::thread(startDecoder); // Details irrelevant
std::cout << "Waiting..." << std::endl;
t2.join();
t1.join();
std::cout << "Finished." << std::endl;
return 0;
}
程序掛在cv::namedWindow("Output");
。我已暫停使用GDB的程序,這是調用堆棧:
poll()
??()
xcb_connect_to_fd()
xcb_connect_to_display_with_auth_info()
_XConnectXCB()
XOpenDisplay()
gdk_display_open()
gdk_display_open_default_libgtk_only()
gtk_init_check()
gtk_init()
cvInitSystem()
cvNamedWindow()
main (argc=1, argv=0x7fffffffe4c8)
這是輪詢的東西,我不知道是什麼...任何想法?
解析掛該調用,但現在當我打電話'CV :: imshow(「輸出」,IMG);'內它掛起升壓線程之一.. .. – justderb 2013-03-13 15:36:06
通常不允許嘗試在與主線程不同的線程中顯示屏幕上的內容。我不知道'imshow'的實現,但這可能是這裏的問題。嘗試從主線程調用'imshow'。 – cedrou 2013-03-13 16:09:05
好的,謝謝。因爲你確實解決了這個問題,所以標記爲正確的,那麼我將不得不針對線程問題發佈另一個問題...... – justderb 2013-03-14 17:57:01