【发布时间】:2017-08-30 10:13:50
【问题描述】:
我正在尝试学习使用 SDL2 库的教程。我已经按照here 的指示逐字进行了。
程序编译正常,但是当我尝试在 eclipse 中运行它时,调用SDL_Init(SDL_INIT_VIDEO) 时出现以下错误:
No available video device
经过一些研究,我认为这是因为 SDL2 没有正确链接到任何显示驱动程序,因此浪费了几个小时从源代码安装它,并尝试了各种论坛上建议的各种修复。
在学习了另一个教程后,我发现我的 SDL2 安装没有任何问题。事实上,当我从终端运行 eclipse 项目创建的可执行文件时,它运行没有任何问题。
有类似的问题(例如here),但我在eclipse中找不到错误发生的地方,但不是终端。
任何指针将不胜感激。我怀疑这可能与未设置环境变量有关,但不确定是哪个或为什么。根据 SO 上的答案,我添加了 DISPLAY 环境变量,并在项目设置中将其设置为 :0,但没有运气。
更新:我找到了一种方法可以快速将所有 bash 环境变量添加到我的 eclipse 项目中,但我仍然收到 No available video device 错误。
更新 2:原来我没有在正确的位置添加环境变量(我将它们添加到 C++ 构建环境,而不是运行环境;这显然是问题在于应用程序正在构建但未运行) .在下面发布答案。
【问题讨论】:
-
环境(例如 PATH、LIBRARY_PATH 和/或其他)可能与您从终端运行时与从 IDE 运行时不同。确保从 IDE 运行时正确设置环境变量。
-
非常感谢您的回复。我找到了一种将所有环境变量添加到我的 eclipse 项目的快速方法,这似乎并没有解决它,所以我不确定它是否与环境变量有关。 eclipse 会以某种方式使视频设备对 SDL2 不可用吗?
标签: c++ eclipse ubuntu sdl sdl-2