c ++可执行文件从命令行运行,但不是从eclipse运行
c++ executable runs from command line, but not from eclipse
我正在尝试学习使用 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++ 构建环境,而不是 运行 环境;这显然是应用程序出现问题的地方正在建设但不是 运行ning)。在下面发布答案。
原来是环境变量的问题。要修复您需要将环境变量 DISPLAY
添加到您的项目并将其设置为 :0.0
.
为此,右键单击您的项目,然后 select 运行 As >> 运行 Configurations...
然后 select 在左侧面板中显示您的应用程序。 Select 右侧的环境选项卡。单击新建...,然后在名称:字段中输入 DISPLAY
,在值:字段中输入 :0.0
。
单击“应用”,然后单击“运行”,它应该会起作用。感谢@Anon Mail 为我指明了环境变量的方向。
我正在尝试学习使用 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++ 构建环境,而不是 运行 环境;这显然是应用程序出现问题的地方正在建设但不是 运行ning)。在下面发布答案。
原来是环境变量的问题。要修复您需要将环境变量 DISPLAY
添加到您的项目并将其设置为 :0.0
.
为此,右键单击您的项目,然后 select 运行 As >> 运行 Configurations...
然后 select 在左侧面板中显示您的应用程序。 Select 右侧的环境选项卡。单击新建...,然后在名称:字段中输入 DISPLAY
,在值:字段中输入 :0.0
。
单击“应用”,然后单击“运行”,它应该会起作用。感谢@Anon Mail 为我指明了环境变量的方向。