自从我拿起 SDL(不久前),我一直使用 Code::Blocks 和 MinGW 来开发......在 Windows 上。为 SDL 1.2 设置它既简单又快捷。
现在我想从 OpenGL 3.2 开始,因为我已经了解 SDL,所以我认为将它用于 OpenGL 是合乎逻辑的。所以我下载了支持 OpenGL 3.x 的 SDL 2.0,并尝试构建这些库。
我尝试make install
使用 Cygwin,但它没有配置,因为我在 Windows 上。为了获得 .lib 和 .dll 文件,我按照 VisualC 的说明生成了它们。
但我很确定我不能将 *.lib 文件与 MinGW 一起使用。我不能。
所以我尝试使用 reimp 将 *.lib 文件转换为 *.a。它没有用,所有图书馆都被发现是“腐败的”。甚至我下载的 glew32.lib 并没有自己构建。我很迷茫。
我什至可以让它与 MinGW 一起使用,还是必须切换到 VisualStudio?
(我什至不知道 VC++ 2010 Express Edition 是否可用。我能够构建 VisualC 库的唯一原因是因为我使用了 Visual Studio Pro 试用版。VC++ 2010 不允许我更早这样做。)
更新:
我使用 MSYS 为 SDL 2.0 和 GLEW 构建 *.a 和 *.dll.a。我的项目已正确链接并且构建没有任何问题。但是,我无法运行它。
我收到错误“应用程序无法正确启动 (0xc00007b)”。
我知道这个问题是由于不正确的 *.dll 文件造成的。我已经链接了我构建的所有 *.dll.a 文件,但我不知道为什么会出现这个问题。
我究竟做错了什么?
(这是我写的测试程序的pastebin,但我怀疑现在的问题出在代码上。)
更新 v2:
我解决了。我只是将 *.dll 文件放入 System32 文件夹以及 SysWOW64 文件夹中。
然后,我只需要调试我的代码。目前,您不能简单地调用SDL_Init(SDL_INIT_EVERYTHING)
,因为没有触觉支持。
现在我的东西已经工作了,我将开始开发。谢谢你的帮助。