- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Visual Studio 2019 Enterprise 开发跨平台(Windows/Linux)x64 GUI 应用程序。
在这个 2019 版中,我们可以使用 Visual Studio 调试平台(Windows - native )和 Linux - Ubuntu(在虚拟机中运行)。
因此,我遵循了本教程,并使用 Visual Studio 2019 IDE 在我的 Ubuntu 18 VM 中运行和调试了这个 GUI 示例应用程序。 完美!
现在,我尝试做我的自定义 GUI 应用程序:
为了实现跨平台 GUI,我使用的是 GLFW 3.3。
步骤:
创建 Visual Studio CMake 项目
编写C++代码和CMakeLists.txt
添加 VS 调试配置(Windows x64 和 Linux x64)
编译和链接(OK on both VS Windows 和 Linux 目标)
运行(在 Windows 和 Linux 目标上均正常)
但是……
当我在 Windows 设置中运行它时,一切正常...出现 GLFW 窗口...很好!当我在 Linux-debug(通过 Visual Studio)中运行它时,当 VS 调试器点击 glfwInit()
行时,我得到了这个错误:
启动 GLFW 上下文,OpenGL 3.3
Glfw 错误 65544:X11:缺少 DISPLAY 环境变量
因此,当我选择 Linux 调试配置时,我的 VM 中没有 GUI 窗口。
在互联网上搜索,我看到有必要告诉 Visual Studio 在 launch.vs.json 文件中导出 DISPLAY linux 环境变量。
你可以在这里看到: https://learn.microsoft.com/en-us/cpp/build/get-started-linux-cmake?view=vs-2019
在我的 VM Ubuntu 中,我得到了 DISPLAY:0
然后,我写的 launch.vs.json 文件:
“export DISPLAY=:0;${debuggerCommand}”
或
"export DISPLAY=:0.0;${debuggerCommand}"
详细信息:
如果我手动进入我的 Ubuntu VM,并双击已编译的应用程序,它会显示 GLFW 窗口并且一切正常!
我的问题是:
如何使用 Visual Studio 2019 IDE 将 DISPLAY 环境变量导出到 Linux VM,以调试将在 Virtual Box (VM) 内运行的应用程序。
最佳答案
Microsoft C++ 团队的一些好人(感谢 Ion、Erika 和 Elisabeth)帮助了我,我找到了解决方案。
问题与 Visual Studio 自动生成的“launch.json”文件有关。
我必须更改哪些“launch.json”属性:
1- 设置一个 "name": "helloworld"
。默认值为 ""
。
2- 设置 "project": "CMakeLists.txt"
。默认值为 ""
。
3- 设置 "projectTarget": "helloworld"
。此属性不会由 VS 2019 自动创建。
4- 设置 "cwd": "${debugInfo.defaultWorkingDirectory}"
。默认值为 "${debugInfo.defaultRemoteDirectory}"
5- 在 pipeArgs 中添加 "export DISPLAY=: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}"
]
关于linux - Visual Studio -X11 : The DISPLAY environment variable is missing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743033/
我想在 32 位 Windows 上获取路径 system32 路径,在 64 位 Windows 上获取路径 SysWOW64。 Environment.GetFolderPath(Environm
我可以在 environment.yml 中设置环境变量吗? conda 中的文件环境? conda 让我 save environment variables in environments通过 e
我一直在尝试大部分 Enviroment.SpecialFolder 枚举,但我认为没有任何方法可以通过枚举。使用 string.Substring() 方法给我带来了最大的收获。 我尝试只获取实际安
当我在 .ios 项目的 appDelegate 中使用 Environment.GetFolderPath(Environment.SpecialFolder.Personal) 时,我得到一个路径
我找到了 this project在做一些研究的同时。我注意到 Docker Compose 示例文件中的这一行: environment: &environment 所以我想知道它实际上意味着什么?
在 python/flask/gunicorn/heroku 堆栈上,我需要根据另一个 env 变量的内容设置一个环境变量。 作为背景,我在 heroku 上运行了一个 python/Flask 应用
我正在尝试使用 angularfire @angular/[email protected] 构建 Angular 15 。但我遇到了这个错误 ✔ Downloading configuration
我在我的一位客户的计算机上遇到了一个非常奇怪的行为,我找不到任何线索来解释为什么会这样:当应用程序调用 Environment.GetFolderPath(Environment.SpecialFol
我遇到了以下方法: Environment.getDataDirectory() : /data 和 getFilesDir() : /data/data/package/files 一种方法使用环境
我在 rails 中有一个迁移,它执行以下操作: class AddMissingIndexes :evid, :length => { :evid => 255 } end end 但是,在对
所以我对 MS Stack Development 世界相当陌生,面临着本地开发环境与服务器环境不同的问题(我认为它们是一样的,但我错了)。 我的设置是使用 Visual Studio 2012(II
我有一个只包含 exe 文件(没有源代码)的 hello 工具。 你好工具结构: bin helloBin.exe helloRoot.exe conanfile.py conanfile.py
我是 R 的新用户,我尝试了以下代码。它给出了一个错误。任何人都可以帮忙吗?代码是: library(ggplot2) data(diamonds) qplot(price, data=diamond
我正在使用以下方法获取 Windows 7 中“我的文档”文件夹的路径并遍历其目录: Dim diri As New DirectoryInfo(Environment.GetFolderPath(E
我试图通过更改其环境变量来修改 Linux 上 JetBrains Rider 中 .NET 项目的设置配置文件。但是,当我点击文件夹图标时,我无法点击添加、删除或修改任何环境变量。 我注意到在 Ri
这个问题已经有答案了: How to add package to conda environment without pip (5 个回答) 已关闭 1 年前。 我在没有连接到互联网的计算机上安装了
我开发了一个 Controller 来使用 JSON 响应 AJAX 请求: class PeopleController extends Controller { public function l
我有一个 asp.net mvc3 应用程序。现在我想将用户数据保存在 C:\Users{AppPoolUserAccount}\AppData\Roaming\MyProgramm... 在第一次调
#include #include #include extern char *environ[]; int main(int argc, char *argv[]) { int ind
我在将 json 文件导入 typescript 时遇到问题。我已经按照惯例配置了tsconfig.json,但是在environment.ts文件中还是不行,但是在environment.prod.
我是一名优秀的程序员,十分优秀!