Я разрабатываю кроссплатформенное (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.
Шаги:
Создание проекта Visual Studio CMake
Написать код C ++ и CMakeLists.txt
Добавить обе конфигурации отладки VS (Windows x64 и Linux x64)
Компилировать и связывать ( OK на VS для Windows и Linux)
Выполнить ( Хорошо для обеих 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).