Code :: Blocks,过剩和OpenGL

时间:2013-07-28 23:14:48

标签: c opengl codeblocks glut

我正在尝试更新一个名为Boomtown的旧C语言2-D游戏(街机风格的轰炸机仿冒品!),它使用过剩和OpenGL,不再编译最新版本的Code :: Blocks。我试图将源文件添加到项目本身的src /文件夹中,但我遇到了崩溃。任何帮助深表感谢!我会尝试尽可能多地包含有关该项目的信息。

项目布局:
项目文件夹名称:boomtown
位于boomtown \ src内:
   boomtown.cbp
   包括\
   LIB \
   glut32.lib的旧版本(不确定在旧设置中是如何使用的)

其他信息
操作系统:Windows 7 64位(但尝试使用x86过剩资源设置项目)
CodeBlocks版本:12.11
编译器:GNU GCC编译器

这是我到目前为止所做的:

[转运蛋白]

  • 已下载的glut32.dll glut.h和glut32.lib
  • 将glut32.dll和glut.h添加到boomtown \ src \ include文件夹
  • 将glut32.lib添加到boomtown \ src \ lib文件夹
  • 用新的替换旧的glut32.lib(以防万一)

[OpenGL的]

  • 将SFML源添加到boomtown \ src \ include文件夹
  • 将SFML库文件添加到boomtown \ src \ lib文件夹

[CodeBlocks]

  • 项目 - >构建选项 - >链接器设置 - >链接库:lib \ glut32.lib以及所有SFML.a文件
  • 项目 - >构建选项 - >链接器设置 - >搜索目录 - >编译器/链接器:\ boomtown \ src \
  • 将boomtown \ src \ include \ glut.h添加到项目工作区
  • 将boomtown \ src \ include \ SFML头文件添加到项目工作区

当我构建并运行时,我没有错误(哇哇!),但是出现了一个空白的调试窗口,我得到了这个:

boomtown.exe - Application Error  
The application was unable to start correctly (0xc0000be).  Click OK to close the application.

如果一切正常,游戏应该弹出而不是应用程序错误。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

你必须确保你的图书馆以正确的顺序链接:

正确的顺序是:

    -lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32

当然-lwinmm和-lgdi32可能不是必需的。 glut32需要glu32,这反过来需要opengl32

尝试设置项目 - >构建选项 - >链接器设置 - >链接库:到

lib\glut32.lib lib\glu32.lib lib\opengl32.lib 

等...