Linux Visual Studio-X11:缺少显示环境变量
我正在使用Visual Studio 2019 Enterprise开发一个跨平台(Windows/Linux)x64 GUI应用程序 在2019版中,我们可以使用Visual Studio对plataforms(Windows-Native)和Linux-Ubuntu(在虚拟机中运行)进行调试。 你可以在这里看到: 因此,我遵循了本教程,使用VisualStudio2019 IDE在我的Ubuntu18VM中运行并调试了这个GUI示例应用程序完美强> 现在,我尝试使用自定义GUI应用程序: 为了实现跨平台的GUI,我使用GLFW3.3 步骤:Linux Visual Studio-X11:缺少显示环境变量,linux,visual-studio,visual-studio-2017,cross-platform,visual-studio-2019,Linux,Visual Studio,Visual Studio 2017,Cross Platform,Visual Studio 2019,我正在使用Visual Studio 2019 Enterprise开发一个跨平台(Windows/Linux)x64 GUI应用程序 在2019版中,我们可以使用Visual Studio对plataforms(Windows-Native)和Linux-Ubuntu(在虚拟机中运行)进行调试。 你可以在这里看到: 因此,我遵循了本教程,使用VisualStudio2019 IDE在我的Ubuntu18VM中运行并调试了这个GUI示例应用程序完美 现在,我尝试使用自定义GUI应用程序: 为了
glfwInit()
行时,我得到了以下错误:
启动GLFW上下文,OpenGL 3.3
Glfw错误65544:X11:缺少显示环境变量
因此,当我选择Linux调试配置时,我的虚拟机中没有GUI窗口。
在internet上搜索时,我发现有必要对Visual Studio导出launch.vs.json文件中的DISPLAY linux环境变量。
你可以在这里看到:
在我的虚拟机Ubuntu中,我得到了DISPLAY:0
然后,我编写了launch.vs.json文件:
“导出显示=:0;${debuggerCommand}”
或
“导出显示=:0.0;${debuggerCommand}”
详细信息:
如果我手动进入我的Ubuntu虚拟机,双击编译后的应用程序,它会显示GLFW窗口,一切正常强>
我的问题是:
<如何>使用VisualStudio 2019 IDE将显示环境变量导出到Linux VM来调试我在虚拟箱(VM)内运行的应用程序。 < P>微软C++团队的一些好家伙(感谢埃里卡,Elisabeth)帮助我,我找到了解决方案。 该问题与Visual Studio自动生成的“launch.json”文件有关。 我必须更改的“launch.json”属性:
“名称”:“helloworld”
。默认值为“”
2-设置“项目”:“CMakeLists.txt”
。默认值为“”
3-设置“项目目标”:“helloworld”
。此属性不是VS 2019自动创建的
4-设置“cwd”:“${debugInfo.defaultWorkingDirectory}”
。默认值为“${debugInfo.defaultRemoteDirectory}”
5-在管道参数中添加“导出显示=:0;”
6-删除行“processId:0”
。通过这一行,只有root用户才能在Linux上部署和调试
7-在pipeArgs中添加新行:“--tty=${debugInfo.tty}”
。创建CMake项目VS2019时,此行不是自动生成的
因此,pipeArgs是:
"pipeArgs": [
"/s",
"${debugInfo.remoteMachineId}",
"/p",
"${debugInfo.parentProcessId}",
"/c",
"export DISPLAY=:0;${debuggerCommand}",
"--tty=${debugInfo.tty}"
]