我正在使用Netbeans C++创建一个小项目。我有这个简单的代码:
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)
它正在轮询某些东西,我不知道...有什么想法吗?
最佳答案
看来这是与GTK相关的问题。尝试使用标准窗口:
cv::namedWindow("Output", CV_WINDOW_NORMAL|CV_GUI_NORMAL);
关于c++ - cv::namedWindow()在调用时挂起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15388781/