CodeBlocks 10.05 配置DxLib v3.09

来源:互联网 发布:氢弹 知乎 编辑:程序博客网 时间:2024/06/08 18:31

从自己的百度空间搬过来的。

出于对东方的喜爱,也想学习弹幕游戏的设计。

之前看到一个教程,四圣龙神录, 是一个开源仿东方的弹幕游戏教程。

60讲讲座地址(日文): http://dixq.net/rp/
游戏主页: http://dixq.net/sr/

看上去相当不错啊,有这样的教程,至少不会感觉摸不到门了,不知从何学起。

四圣龙神录的教程,用的是C语言和DxLib库写的。

DxLib 是日本同人界广泛使用的开源游戏引擎,相当于给DX重新打包编译的版本。

这是DxLib的主页

http://homepage2.nifty.com/natupaji/DxLib/index.html

想学习一下DxLib的使用,就去官网上下了,想配置好,学习一下。

下载页面:DXライブラリのダウンロード

使用方法:DXライブラリの使い方

下面那个 是手册和示例: DXライブラリの関数リファレンスマニュアル & サンプルプログラム

去下载页面,就可以看到下载链接。

因为我是想配置到Codeblocks上,使用的是MinGW编译器,所以选择

DXライブラリ Gnu C++用(Ver3.09)をダウンロードする(自己解凍形式(約10.2MB))

下下来的文件是 DxLib_GCC3_09.exe

下面那个 ソフトウエアレンダリング機能無しの軽量化パッケージ

好像是说 没有Software Rendering ,也就是没有软件渲染的版本。

下下来的文件是 DxLibNoneSoftDrawCode_GCC_MinGW_3_09.exe

那几个下载和上面的版本,大体上是一样的,只是 libDxDrawFunc.a 文件有区别,精简了软件渲染的功能。

再下面那个 DXライブラリ(Ver3.09)のプロジェクトをダウンロードする(自己解凍形式(約1.39MB))
好像是 DxLib 项目的打包下载链接,文件名是 DxLibMake3_09.exe 里面有一个VC6 的project,应该是自己编译 DxLib 用的。

然后来到使用方法的页面,可以从主页过去,也可以点刚才下载页里的

DXライブラリの使い方についてはこちらを参照して下さい

配置方法:

因为是MinGW 的GCC 编译器,所以就只看这个链接的页面

Gnu C++ ( Bloodshed Dev-C++ )の方はこちら (既に Dev-C++ ( 又は Gnu C++ ) を使っていて、その環境でDXライブラリを使いたいという方向け)

这个页面是以 Dev-C++ 作为介绍的。

Dev C++ 我以前也经常用,简单轻便。不爽的就是每次最后都要暂停,不然看不到cmd窗口的显示。

配置方法基本上都能看懂吧。

看不懂的话, 这里也已经有人写了教程了。http://yanglefeng.iteye.com/blog/1337059

十分感谢,这教程也给了我很多指引。

好了,问题是Codeblocks,按照类似Dev C++这样的配置编不了,这怎么办呢?

我就直接写最终解决方法吧,略去中间遇到的一些问题。

首先,Codeblocks 10.05 有自带编译器的版本,那个自带的MinGW是编不过DxLib的。

所以,要去另外下载一个MinGW。

Codeblocks 里面采用的,并不是官方的MinGW,而是 tdm-MinGW。

可以参考: http://wenku.baidu.com/view/3781680302020740be1e9ba0.html

注意文档中,官方MinGW 和 Codeblocks 所使用的MinGW的区别,用红字标注的关于sjlj 的功能,正是这个导致DxLib编不过的原因。

1. 下载TDM-GCC

下载页面:http://tdm-gcc.tdragon.net/download

我下的是,左上角的 tdm-gcc-4.7.1-2.exe

运行,Create一个,自己制定一个位置,选择Asia - Taiwan NCU ,然后配置编译器的时候,选择 MinGW Stable, C/C++,Install 安装

主要是,下面Version里有三个选项,第一个是Stable 4.7.0 -1 ,就选用这个。第二个是默认的,with sjlj ,这个是编不过的DxLib的
第三个是dw2的,应该能编过,不过他的bin 文件夹里面命名比较特殊,要自己修改一下。
2. 配置Codeblocks

装好了编译器,就可以配置codeblocks了。

2.1

把Codeblocks 的编译器,设置到刚才装的MinGW Stable 文件夹。

设置方法不多说了吧,setting -compiler and debugger ,下面有很多标签,切换到Toolchain Executables 设置 下面的路径就OK了。


2.2

恩,然后,还是刚刚的那个设置页面,切换到Search directories ,在下面Compiler 下,点Add,

按照DxLib 配置页面里讲的,把下载后,双击解压的DxLib_GCC 下面的 プロジェクトに追加すべきファイル_GCC(MinGW)这个文件夹路径填进去。

可以自己给他改个简短的名字。比如,我最后设置好是这样的。


2.3

然后,Linker 下也Add ,加上这个路径。


顺便一说,这个页面下面的勾,可以都不用打上。有些打上可能会多一些警告或者错误。


3. 建立项目

点击 File - New -Project 选择 Win32 GUI Project,Next 选Frame Based ,设置一个保存的地方, Finish。

右键点击刚建立的项目 ,选择Build Option。

然后,点击左上角Debug 和Release上面的项目名称,(这样做的修改是对Debug 和Release 都有效的)

点Linker Settings ,按照教程,在右边填入以下内容。

-lDxLib
-lDxUseCLib
-lDxDrawFunc
-ljpeg
-lpng
-lzlib
-ltheora_static
-lvorbis_static
-lvorbisfile_static
-logg_static
-lbulletdynamics
-lbulletcollision
-lbulletmath


切换到Compiler Setting , 选择下面的 Other Option ,填入

-DDX_GCC_COMPILE
-DDX_NON_INLINE_ASM

(其实,这个如果不填,到main.cpp 里面开头写上#define DX_GCC_COMPILE 和 #define DX_NON_INLINE_ASM ,效果也是一样的)


恩,接下来,把main.cpp 的内容替换为


#include "DxLib.h"#define DX_GCC_COMPILE// プログラムは WinMain から始まりますint WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){    ChangeWindowMode(TRUE);//以窗口模式运行if( DxLib_Init() == -1 )// DXライブラリ初期化処理{return -1 ;// エラーが起きたら直ちに終了} DrawPixel( 320 , 240 , 0xffff ) ;// 点を打つWaitKey() ;// キー入力待ちDxLib_End() ;// DXライブラリ使用の終了処理return 0 ;// ソフトの終了 }



编译运行,应该就可以了。

补充:

1 编译运行,结果有个cmd 窗口,那是因为是 Debug 模式,切换到Release 模式就没有了。(就在工具栏那里,选一下)

2编译有很多警告,可能是因为 project 的 build option 里面,选上了 -Wall 这个选项的原因,去掉这个勾就好了。


3 如果出现,cannot find -lDxLib 等等, 应该是漏掉了 步骤2.3 。 我写的时候,就漏了这个。。。

4 如果出现 undefined reference to `_Unwind_Resume' 是MinGW 选错了,重新选安装的Stable 版本的MinGW 就好了。


本人CSDN博客目录:

http://blog.csdn.net/tidus5


参考的文章链接,感谢:

http://yanglefeng.iteye.com/blog/1337059

http://moge32.jugem.jp/?eid=136

http://orumin.blogspot.com/2012/07/mingw-dxlib.html

http://dixq.net/forum/viewtopic.php?f=3&t=10779

http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2232