2016-08-09 6 views
1

Я создаю приложение, использующее OpenCV lib для отображения изображений. Приложение не в следующей строке:Запустить приложение gui на cygwin

cv::namedWindow(....); 

Я использую Cygwin на Windows 10, и с помощью CLion IDE.

Исполняемый построен успешно, но при запуске он показывает следующее сообщение об ошибке:

(Display Image:10340): Gtk-WARNING **: cannot open display: 

Я убедился xinit установлен и его зависимости с помощью Cygwin установки. Я запускать X-сервер, используя пакетный файл со следующим содержимым:

c:\cygwin\bin\run.exe -p /usr/X11R6/bin XWin -listen tcp -multiwindow -clipboard -silent-dup-error 

И я могу увидеть значок «X» в области уведомлений иконок, но все еще получаю ошибку, когда я пытаюсь запустить исполняемый файл , Я попытался запустить его как из CLion, так и из консоли cygwin, но с тем же результатом.

Что мне не хватает?

+0

Вы определили DISPLAY? Работает ли приложение, если вы запускаете его из Xterm? – matzeri

+0

Я попытался запустить его в форме XTerm и да, он работает, мне потребовалось время, чтобы найти XTerm. Теперь, каков способ заставить его запустить и отладить от CLion? – Bishoy

+0

Вместо этого вы можете попытаться настроить WSL. Хотя это не поддерживаемый сценарий, появились сообщения о том, что пользователям удалось настроить XServer. – IInspectable

ответ

3

Чтобы запустить программу, необходимо иметь доступ к X-серверу нужно:

1) a running X Server
2) the variable DISPLAY defined

Если вы проверяете из Xterm вы будете иметь:

$ echo $DISPLAY 
:0.0 

Так что ваша программа может работать как DISPLAY определяется и найден X-сервер.

+0

Спасибо, значение, которое сработало для меня, было ': 0'. Интересно, почему это не упоминается нигде, где я смотрел. Cheers – Bishoy

+0

http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-xserver-nolisten-tcp-default и http://x.cygwin.com/docs/faq/cygwin- х-faq.html # отображение и экран – matzeri

Смежные вопросы