Visual Studio - X11: переменная среды DISPLAY отсутствует - PullRequest
1 голос
/ 24 июня 2019

Я разрабатываю кроссплатформенное (Windows / Linux) приложение x64 GUI с использованием Visual Studio 2019 Enterprise.

В этом выпуске 2019 года мы можем использовать Visual Studio для отладки обеих платформ (Windows- Native) и Linux - Ubuntu (работает на виртуальной машине).

Вы можете увидеть его здесь: https://devblogs.microsoft.com/cppblog/using-visual-studio-for-cross-platform-c-development-targeting-windows-and-linux/

Итак, я следовал этому руководству и получил этот GUIпример запуска приложения и отладки на моей виртуальной машине Ubuntu 18 с использованием среды Visual Studio 2019. Отлично!

Теперь я попытался создать свое собственное приложение с графическим интерфейсом:

Для создания кроссплатформенного графического интерфейса я использую GLFW 3.3.

Шаги:

  1. Создание проекта Visual Studio CMake

  2. Написать код C ++ и CMakeLists.txt

  3. Добавить обе конфигурации отладки VS (Windows x64 и Linux x64)

  4. Компилировать и связывать ( OK на VS для Windows и Linux)

  5. Выполнить ( Хорошо для обеих VS целей Windows и Linux)

Но ...

Когда язапусти его в настройке Windows, у меня все в порядке ... появляется окно GLFW ... хорошо! Когда я запускаю его в Linux-отладке (Visual Studio), когда отладчик VS запускает glfwInit() line, я получил эту ошибку:

Starting GLFW context, OpenGL 3.3

Glfw Error 65544: X11: The DISPLAY environment variable is missing

Итак, когда я выбираю конфигурацию отладки Linux , я не вижу окна GUI вмоя ВМ.

Поиск в интернете, я увидел, что нужно сказать Visual Studio для экспорта переменной окружения DISPLAY linux из файла launch.vs.json.

Вы можете увидеть его здесь: https://docs.microsoft.com/en-us/cpp/build/get-started-linux-cmake?view=vs-2019

Внутри моей виртуальной машины Ubuntu яполучил DISPLAY:0

Затем мой файл launch.vs.json я написал:

"export DISPLAY=:0;${debuggerCommand}"

или

"export DISPLAY=:0.0;${debuggerCommand}"

Подробности:

ЕСЛИ я вручную захожу в мою Ubuntu VM и дважды щелкаю в скомпилированном приложении, появляется окно GLFW и все идет хорошо!

Моя проблема:

Как я могу экспортировать переменную среды DISPLAY в виртуальную машину Linux, используя IDE Visual Studio 2019 для отладки моегоприложение, которое будет работать внутри Virtual Box (VM).

...