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
일반적으로 메인 스레드와 다른 스레드에서 화면에 표시하려고 시도 할 수 없습니다. 나는'imshow'의 구현을 모른다. 그러나 아마도 여기에서는 문제 일 것이다. 메인 스레드에서'imshow'를 호출하십시오. – cedrou
감사합니다. 당신이이 문제를 해결 한 이후로 당신을 올바른 것으로 표시하면, 나는 스레딩을위한 또 다른 질문을 게시해야합니다 ... – justderb