我正在尝试使用SDL2库来学习教程。我已按照here逐字说明的说明进行操作。
程序编译得很好,但是当我尝试在eclipse中运行它时,我在调用.parent {
height:98px;
display:block;
}
.nav {
font-family: "proxima-nova", sans-serif;
display: block;
float: right;
color:#FFB8B8;
padding-right: 20px;
padding-top: 40px;
padding-bottom: 40px;
text-decoration: none;
background: black;
}
.img{
background:yellow;
position: relative;
display: block;
margin: auto;
padding-top: 50px;
padding-bottom: 50px;
}
时遇到以下错误:
<div class="parent">
<div class="nav">
nav
</div>
</div>
<div class="img">
image
</div>
经过一番研究后,我认为这是因为SDL2没有正确链接到任何显示驱动程序,所以浪费了几个小时从源代码安装它,并尝试在各种论坛上提出各种修复。
在完成另一个教程之后,我发现我的SDL2安装没有任何问题。事实上,当我从终端运行eclipse项目创建的可执行文件时,它运行没有任何问题。
有类似的问题(例如here),但我无法在eclipse中找到错误发生的地方,而不是终端。
任何指针都将非常感激。我怀疑它可能与未设置的环境变量有关,但不确定是哪个或为什么。基于SO的答案,我添加了SDL_Init(SDL_INIT_VIDEO)
环境变量,并在项目设置中将其设置为No available video device
,但没有运气。
更新:我找到了一种方法来快速将所有bash环境变量添加到我的eclipse项目中,但仍然出现DISPLAY
错误。
更新2:原来我没有在正确的位置添加环境变量(我将它们添加到C ++构建环境,而不是Run环境;这显然是问题在于应用程序正在构建但不是运行)。发表以下答案。
答案 0 :(得分:1)
事实证明这是一个环境变量问题。要解决此问题,您需要将环境变量DISPLAY
添加到项目中并将其设置为:0.0
。
要执行此操作,请右键单击您的项目,然后选择Run As&gt;&gt;运行配置...
然后在左侧面板中选择您的应用程序。选择右侧的“环境”选项卡。点击新建...然后在名称:字段中输入DISPLAY
,在值:字段中输入:0.0
。
单击“应用”,然后单击“运行”,它应该可以工作。感谢@Anon Mail将我指向环境变量的方向。