我使用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)
这是对某事的投票,我不知道...有什么想法吗?
答案 0 :(得分:3)
这似乎是与GTK相关的问题。尝试使用标准窗口:
cv::namedWindow("Output", CV_WINDOW_NORMAL|CV_GUI_NORMAL);