0

I am using Netbeans C++ to create a small project. I have this simple code:

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;
}

The program hangs on cv::namedWindow("Output");. I have paused the program using GDB and this is the call stack:

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)

It is polling for something, I don't know what... Any ideas?

4

1 回答 1

3

It seems to be a problem related to GTK. Try to use a standard window:

cv::namedWindow("Output", CV_WINDOW_NORMAL|CV_GUI_NORMAL);
于 2013-03-13T15:10:52.527 回答