使用 SDL 制作一个简单的游戏,努力将所有东西链接在一起 [重复]

Posted

技术标签:

【中文标题】使用 SDL 制作一个简单的游戏,努力将所有东西链接在一起 [重复]【英文标题】:Using SDL to make a simple game, struggling with linking everything together [duplicate] 【发布时间】:2015-05-06 03:12:03 【问题描述】:

我想尝试用 c++ 制作一个简单的游戏。

所以我发现了关于如何制作游戏的非常酷的系列,但创作者没有包括如何安装不同的库等。

所以,在教程中,他给了我们这段代码:

http://gynvael.vexillium.org/ext/vc/game.cpp

作为制作游戏的基本框架。

从现在开始,我将为您列出我发现的问题以及我认为的问题:

问题在于,当您尝试编译并运行它时,它会向您抛出大量错误等。

我需要先将我的项目链接到 SDL,我这样做了,我认为它可以工作,因为没有重大错误或带下划线的代码。

但是,gl.h 文件出现了问题。

所以我发现我需要安装 OpenGL 库并将它们链接到我的 Visual Studio 项目。我发现我需要 FreeGlut 和 GLEW 来运行上面链接中的代码。

所以我已经很容易地将 GLEW 与我的项目相关联,但是 GLUT 存在问题。

显然,出于我未知的原因,您必须自己编译 .lib 文件。这给我带来了一个全新的问题。所以最新版本的 GLUT (3.0) 没有 Visual Studio 文件夹(在 tar 文件中),所以我无法编译最新版本。

另一方面,所有旧版本都有那个 Visual Studio 文件夹,它允许我编译 freeglut.lib 文件并将其添加到我的程序的依赖项中。

但是当我这样做时,会出现错误:LNK1104: cannot open file 'freeglut.lib'

我不知道为什么会这样,因为我多次按照教程中的方式完成所有操作。

我认为这可能是因为我获得了最新版本的 GLEW,但旧版本(我认为是 2013 年)GLUT,因为最新版本没有包含 Visual Studio 项目的文件夹来编译。

我需要的只是使代码(来自链接)工作。

@EDIT~~~~~~~~~~~~~~~~~~~~~~~~

我发现我的依赖项文件夹在错误的位置并且我移动了它,而不是 freeglut.lib 文件的问题,这似乎已被整理出来(我想我已修复它:D)我明白了比如 5 个新错误:

错误日志截图:http://puu.sh/hD6x5/d5fc1e1be6.png

但这些都没有敲响警钟。如果我双击它,也没有任何反应。

【问题讨论】:

如果您将我的问题标记为已在其他地方回答,最好发布一个链接,这样我至少可以得到该死的答案... 【参考方案1】:

那个错误意味着你需要链接这三个额外的库:

Glu32.lib SDLmain.lib SDL_图像库

您可能需要下载并构建 SDL_Image,但另外两个应该已经分别是 Windows SDK 和 SDL 的一部分。

哦,您不需要在自己的代码中定义main() 函数。要么是您正在使用的框架代码,要么是为您执行此操作的 SDL (IIRC)。

【讨论】:

你好。我一直在玩耍并试图找出一些东西,我已经达到了这个:puu.sh/hD7QE/31dfed84ff.png(抱歉链接我不能发布图片,因为我是一个新用户)这似乎比我以前的要好得多。任何想法如何解决这些问题?我觉得我离目标越来越近了。 与“Glu32.lib”链接以修复第一个错误,并获取(并链接)“SDL_Image”以修复第二个错误。 非常感谢!!!多亏了你,我离工作计划越来越近了。不过很抱歉占用您的时间。我的程序编译得很好,没有任何错误,但是:puu.sh/hD8fo/d993ed0cba.jpg 有什么想法吗??

以上是关于使用 SDL 制作一个简单的游戏,努力将所有东西链接在一起 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何只使用SDL编写的游戏OpenGL代码的一部分?

使用 Allegro / SDL 与 OpenGL / DirectX 制作游戏时,我会遇到哪些限制?

如何在 SDL2 中旋转矩形?

SDL+OpenGL 程序没有出现在 linux 上

区块链+游戏资产所有权,将如何激活游戏经济的发展?

将 SDL2 RenderDraw 函数与 Emscripten 一起使用