Allegro是一个跨平台的底层游戏开发库,能让你的代码编译在Windows/Linux/DOS/MacOS X/BeOS/QNX/UNIX等平台上。当前的Allegro库支持Unicode、鼠标、时钟、键盘、游戏杆、各种图形模式、位图对象、调色板、Blit拷贝、精灵、多边形渲染、FLIC动画、音频采样、资源文件压缩、定点数学库、3D数学库、图形用户接口GUI等等特性。
Allegro可以在多种编译器下使用,但一般来说你得先下载Allegro的源代码包,然后把它编译成指定编译器可用的二进制库文件,最后包含头文件Allegro.h进行编程。而0101部落提供了可以在Watcom C/C++、DEV-CPP、DJGPP等编译器下已经编译好了的二进制库文件,大家可以下载后直接使用。
本文着重讨论在Open Watcom下使用Allegro的方法,因为编译器的缘故,在Watcom下不像DJGPP那些,将下载到Allegro库文件和头文件直接拷贝到Lib、Include文件夹下就能直接使用,而是要对工程做一些设置才能通过编译,步骤如下(这里假设你已经从本站下载了Allegro For Watcom的库并已经按照里面介绍的方法配置好了编译环境):
打开Open Watcom的IDE,建立一个DOS - 32-bit工程,扩展器可以选择DOS/4GW或DOS32/A LE,并加入使用了Allegro的源文件(如果这一步有什么问题请参考本站另一篇文章:“Open Watcom上手之一:安装篇”);
点击选择菜单中的"Options"->"Linker Switches",在弹出的对话框中的 Switches for making target 'x.exe'下的下拉菜单里选取"1.Basic Switches",从右边找到"Stack:[op st]"栏,填上128K(注意要加K),这是Allegro必须的栈大小;然后再选择下拉菜单的第二项"2.Import, Export and Library Switches",在"Libraries(,):[libr]"项中填上alleg,点击下方OK确定;
选择菜单中的"Options"->"C Compiler switch"打开编译器开关对话框,在上面的下拉菜单中选择"5. Optimization Switches",勾选左下方的"Disable stack depth checking[-s]"复选框,再点选下拉菜单中的"10. Memory Model and Processor Switches"项,点选左下方的"Pentinm Pro Stack based calling[-6s]",即函数调用参数传递是基于堆栈方式的,点击OK;
点击菜单"Targets"下的"Make"或直接按F4键,如果源码没有错误的话就可以生成可执行文件了;或者根据Watcom的错误提示修正代码中的错误直至编译通过——运行你的程序吧。
好了,这就是在Watcom下使用Allegro的方法和过程了,比起DEV-CPP或其它编译器来讲确是稍微有些麻烦,不过熟悉之后也就好了。