注册 登录
编程论坛 C图形专区

[原创]最新Dev-c++与Allegor平台的搭建方法

百年不亮 发布于 2007-08-18 14:04, 9148 次点击
*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国 https://www.bc-cn.net
*/ 作者: 百年不亮
*/ 时间: 2007-8-18 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------


最新Dev-c++与Allegor平台的搭建方法

我见论坛上还有好多Allegro初学者在为搭建这种平台而烦恼,有的好不容易搭建好了编译allegro程序又报错,实在是很打击初学者的热情,为了使更多的人从老掉牙的TC+Graphic转到最新的开源的Dev-cpp+Allegor上来,在此写下详细安装步骤:


前言:有些古老的资料介绍Dev-c++库的安装都是linux中最原始的安装方法,下载源代码后先configure生成makefile然后make,make install,初学者在windows系统中这样做很容易出错,就像RedHat搞了个RPM,Debian搞了个dpkg,最新的Dev-c++提供了一个Packman.exe,所以我们要做的就是使用最新的Dev-c++,然后去下载Allegro的DevPack安装包,用包管理器Packman给我们安装。


第一步:安装或更新dev-cpp

(1)没有装Dev-c++的:
安装最新的dev-cpp:最新的是Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2,官方提供下载地址是:http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe
下载后可以直接安装。注意你选择安装的路径中如果某个文件夹名字含有空格如D:\Program Files\Dev-Cpp会提示出错,改个其他路径就OK了。


(2)已经安装过Dev-c++的:
更新dev-cpp:
上面说了要用比较新的Dev-c++,因为新的才提供Packman.exe。首先检查你的需不需要更新,如果你已经安装了Dev-c++,那么打开Dev-c++的IDE在最顶上的菜单栏中找到“工具”(英文版应该是tools吧),单击它在弹出的下拉菜单中看有没有“Package Manager”(我的是菜单最底下的一项),如果有那么恭喜你了,你的不用更新了直接跳过这一段看后面内容。如果没有也不要伤心啊,更新一下就行了,也是在这个“工具”菜单的下拉菜单中找“检查更新”,会弹出更新程序,点左下角的“Check for updates”,然后status下面显示更新进度条,更新时间取决于你的网速。(我发现速度很慢,还不如用上面一段的方法重装快)


第二步:下载Allegro游戏图形库
(1)手工下载:
Allegro已经是一个开源项目了,很多人为他开发了各种各样的开发库,现在都以DevPack的形式在这里发布了:http://devpaks.org/
打开这个页面后可以看到2d Graphics,3d Graphics,Allegro,DirectX,OpenGL,还有linux中的GTK,还有好多好东西,看的人流口水啊,想要你就下吧,这里我们就下第三个Allegro,点Allegro后进入它的下载页面,我用的是最新的Allegro 4.2.1,建议你也下这个。

(2)自动更新下载并安装
进入第一步中检查更新的窗口中:“工具”-->“检查更新”,弹出一个WebUpdate程序,在Select devpak server下拉选项中选则devpaks.org Community Devpaks,再点左下角的“Check for updates”,和服务器连接后会在Available updates list中列出可用的更新包,看看有没有Allegro,有的话直接下载安装。如果没有就只好用上面的手动下载了。

第三步:安装Allegro游戏图形库
如果你是手工下载的Allegro的DevPak安装包,下面就要用Packman安装。打开Dev-c++的IDE在最顶上的菜单栏中找到“工具”(英文版应该是tools吧),单击它在弹出的下拉菜单中点“Package Manager”(我的是菜单最底下的一项),打开Package Manager后点软盘图标的Install,然后找到你下载的Allegro的DevPak安装包,点打开后剩下的事Package Manager会为你全部搞定。

第五步:试用Allegro游戏图形库
重新打开Dev-c++的IDE,依次选择“文件”-->“新建”-->“工程”,在工程向导窗口中点开“MutiMedia”选项,然后下面会出现三个图标,依次是Allegro application (DLL),Allegro application (static),OpenGL,选中第一或第二个后设置下面的工程名称和语言,默认语言是c++,最后点确定,在弹出的窗口中选择工程保存的位置后就可以看到向导为我们建好的模版了,直接ctrl+F9编译ctrl+F10运行一下,是不是弹出一个窗口来了?按ESC后退出,然后你就可以在模板的基础上修改写自己的程序了,最后祝你的Allegro之路一路顺风!

27 回复
#2
百年不亮2007-08-18 14:51
这篇文章我从11:30写到2:00,午饭还没吃,也没写什么高深的内容,只是详细的介绍给初次接触Dev-cpp+Allegor的人,算是为这个图形专区板块做贡献吧。如有错误感谢你的指出,我会立即更改。

希望大家抛弃落后的tc+Graphic,改用21世纪的开发环境!
#3
一笔苍穹2007-08-18 15:12

很好,加精,希望有更多此类的文章出现在论坛上!

另外补充一个:tools菜单下面有Enviroment Options,Interface标签下面的Language下拉菜单里能选择Chinese
好了,中文的了。

#4
leopardxp2007-08-18 17:00
回复:(百年不亮)[原创]最新Dev-c++与Allegor平台的...

大家用dev-cpp+allegro写的程序都贴上来啊~呵呵~学习学习!

#5
tangqingyu2007-08-18 18:26

楼主,我从事嵌入式应用,一般跨平台调试的时候,windows平台上采用vc,不知道你能不能介绍一下dev_cpp和vc相比,主要优点在哪里。谢谢

#6
leopardxp2007-08-18 19:27
回复:(tangqingyu)楼主,我从事嵌入式应用,一般跨...

大家谁会了都会给你答案的~何必局限于楼主~不过我不太懂~呵呵~我觉得之所以在图形板块提到dev-c++,主要还是为了结合Allegro库使用。而vc似乎有它专门的图形,接口等库。关于dev-cpp的介绍,苍穹已经发过不少帖子,你可以搜一下~
下面这个地址也有十分详细的Dev-cpp安装(带截图的)等GCC的IDE的相关介绍:http://blog.csdn.net/visioncat/archive/2006/06/30/856499.aspx

[此贴子已经被作者于2007-8-18 19:37:19编辑过]

#7
百年不亮2007-08-18 20:49
回5楼:
不知道你工作的嵌入式系统是linux还是win ce或其他.如果是linux你可以在linux平台中工作,使用GNU的强大的调试器.

如果是win ce肯定是微软的工具好些,你在windows平台调试最好还是用vc,毕竟vc是微软做的质量没的说,集成的调试功能也是windows平台下最强的,应该可以满足你的需要吧.Dev-cpp的IDE集成调试功能还是不如vc,不过Dev-cpp经过设置可以交叉编译这点不错,总之感觉还是不适合做嵌入式吧.
#8
奔跑的鸟2007-08-18 22:09
顶啊,要是这文章再早出几天就好了,俺就少绕很多弯路拉,哈哈
#9
一笔苍穹2007-08-18 23:02
以下是引用tangqingyu在2007-8-18 18:26:37的发言:

楼主,我从事嵌入式应用,一般跨平台调试的时候,windows平台上采用vc,不知道你能不能介绍一下dev_cpp和vc相比,主要优点在哪里。谢谢

论编码的话,两者差不多,VC能写的程序,DEV基本上也能,两者之间的工程也很容易互相移植。但调试的话VC还是顺手点,DEV的调试器是GDB,可能会不太习惯。当然,差别还是有的,MFC就是其中之一,DEV里没有微软的MFC授权,所以没有包含对MFC的支持(项WATCOM则包含了MFC,不过是MFC4,WATCOM刚获得微软的授权,微软就推出新版本的MFC和VC了,结果让WATCOM措手不及)。其它的象Allegro或SDL等库,我觉得DEV还方便些,因为VC下的设置会比较繁琐,否则无法顺利通过编译。

#10
一笔苍穹2007-08-18 23:13
所以我觉得DEV比较适合初学者做练习用,首先是体积——安装文件小于10M;再就是简洁,打开的速度也很快;然后各种第三方库的支持较好,而且使用时设置较VC简洁;DEV还是绿色版的,也就是重装系统后DEV依旧可用,并可通过其自身设置重新关联源文件格式。以上特点,让初学者更好上手。
#11
奔跑的鸟2007-08-20 20:50
dev-cpp弄的伤心了,不想老用工程,就尝试了一下allegro的例子,没一个能编译的,都是什么[link error]c:/Documents and Settings/Temp/...什么的,我就重安装了一下,这次没要example和help两个部分,但是这次安装完后不管编译什么都是
C:\DevCpp\dev-c++bear\2 unable to run program file. 连以前编译成功的东西都不能编译了......唉,真是困难重重啊,伤心ing
#12
奔跑的鸟2007-08-20 20:53
哦,把文件夹名字改回成dev-cpp就好了....安装时候把-删除了......汗,木哈哈,而且这次一切都正常了,不用工程也ok了,爽.严格按照上面的方法很有效很有效:)

[此贴子已经被作者于2007-8-20 20:56:12编辑过]


#13
奔跑的鸟2007-08-20 21:03

为什么这个例子不用工程还是不能编译通过呢?

#include <allegro.h>
int main()

{

int white;

allegro_init(); /*Allegro 初始化*/

install_keyboard(); /*安装键盘处理例程*/

set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0); /*设置图形模式*/

set_color_depth(16); /*设置色深*/

white = makecol(255, 255, 255); /*计算白色值*/


putpixel(screen, 320, 200, white); /*在屏幕坐标(320,200)处用白色画点*/
putpixel(screen, 321, 200, white);
putpixel(screen, 320, 201, white);
putpixel(screen, 321, 201, white);
putpixel(screen, 322, 200, white);


readkey(); /*暂停一下,观看结果*/

return 0;

}

END_OF_MAIN();

结果:
C:\DOCUME~1\高策.BEAR\LOCALS~1\Temp\ccO6baaa.o(.text+0x27) In function `mangled_main':
[Linker error] undefined reference to `_install_allegro_version_check'
[Linker error] undefined reference to `install_keyboard'
[Linker error] undefined reference to `set_gfx_mode'
[Linker error] undefined reference to `set_color_depth'
......等等

#14
ioriliao2007-08-20 21:13
能否为我想个写操作系统的软硬平台的搭建?谢谢
#15
百年不亮2007-08-20 21:21
你的这些问题都是因为没有设置好编译参数。

初学还是建议使用allegro工程向导,这样可以避免手工设置编译选项。即使你不想使用模板为你建立的代码也行,你可以在向导建立完模板后删除它的代码自己写,不过这时因为模板已经设置好了编译参数所以你不用为设置好编译参数参数操心。

这里说下编译参数设置问题。如果没有使用allegro工程向导,你要设置连接器的参数。如果你只是新建c/c++文件没有工程,在“工具”-->"编译选项",点开“编译器”选项卡,勾选“在连接器命令行加入以下命令”,在下面填入:-lalleg
如果你建立了一个“windows applicaiton”工程,可以在工程属性中设置,“工程”-->"工程属性",点开“参数”选项卡,在“连接器”下面加入连接命令:-lalleg

最后还是建议使用allegro工程向导,如果你不想要他的代码可以全部删除重写,不过相关设置向导已经为你做了,无聊的设置还是让工具给我们设置吧。


#16
奔跑的鸟2007-08-20 21:32
哦了,多谢,建议这贴置顶吧,初学dev-cpp+allegro的朋友以后查找和寻求帮助比较方便啊:)
#17
百年不亮2007-08-20 21:39
ioriliao老兄又跑到我的这个帖子来了,真是无孔不入啊,呵呵。

我推荐的《自己动手写操作系统》看了完了没? 建议你先看这本书,先写一个命令行界面的,把shell的功能增强。要知道linux/unix在没有x-windows只用shell的时候也可以搭建强大的服务器平台。

我这里说的Dev-c++与Allegor怎样做移植我还没有想过,dev-cpp是不能直接移植到你写的os中的,allegro怎么移植我还要花些时间去了解。估计等你写出强大的shell的时候我就可以告诉你答案了。
#18
一笔苍穹2007-08-20 22:26
我希望等这类帖子比较多的时候专门做一个合集置顶。那样会更集中些,你们看怎么样?
#19
aipb20072007-08-22 10:37
请问下:

怎么我把gcc内核升级到最新后,编译器就不能编译了,总出现类似这样的错误

[Linker error] undefined reference to `mbrtowc'
[Linker error] undefined reference to `wctob'
……………………………………
#20
一笔苍穹2007-08-22 11:08
我这边没问题,升级后的路径要设置好。
#21
aipb20072007-08-22 11:35
怎么设置路径,讲解下!

我选择gcc4.1.2pac这个升级,然后都是自动安装。
该怎么做?
#22
百年不亮2007-08-22 14:18
自动升级应该不会出问题吧,难道是aipb2007你的人品有问题? 呵呵,说笑了。

看看“工具”-->"编译选项",“目录”中“c++包含文件”等有没有正确设置,“程序”中的编译工具路径有没有设置对。

没遇到过这种问题,刚才去dev-cpp的相关网站上找也没没有找到相关内容。
#23
一笔苍穹2007-08-22 15:33
接楼上的,自动安装了也要设置路径,DEV的自动安装只是将文件拷贝到具体的目录,这一步帮你做了,但有些东西就像GCC内核安装还需要DEV运行环境本身进行设置才能使用,步骤如下:
1、安装GCC内核,这一步可以是自动的;
2、去DEV的安装目录,运行Packman.exe,它显示了你的DEV当前安装的所有PACK,点击右边视图中的“GCC”,在左边General标签栏中可以看到它的信息,比如版本号,这里是4.1.2。
3、点击Files标签栏,里面罗列了该PACK所安装的所有文件,包括它的路径,好了,打开DEV,照楼主说的,“工具”|“编译选项”|“目录”,照着第二步中罗列的安装文件路径将原先的替换掉,原先没有的就直接添加,比如D:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include得替换成D:\Dev-Cpp\lib\gcc\mingw32\4.1.2\include,有些原先没有的或者相对路径不同的就改掉,像D:\Dev-Cpp\include\c++\3.4.2\backward在装了4.1.2后变成了D:\Dev-Cpp\include\backward。
4、这一步做完后,如果还有编译错误,就需要手动往工程里加指定的库了,这跟VC++是一样的道理,编译器只会自动链接默认库,关于你说的错误可以这样:“工程”|“工程属性”|“参数”,点击右边“连接器”下方的“加入库或者对象”按钮,去DEV安装目录下的LIB文件夹,找到libstdc++.a并添加,同样再添加libmsvcp60.a库,确定后再“全部重新编译”一下,应该就可以了。
类似的问题都可以参考此法解决。
#24
百年不亮2007-08-22 20:06
感谢一笔苍穹的补充,我这里网速奇慢,用自动升级下载总是只能下一半就退出,自己就没有试着升级gcc,对这个问题不清楚。

看他的错误提示可能是连接库的路径有问题或没有自动链接运行时库。

#25
aipb20072007-08-22 22:17

恩,谢谢了,我再照你们的方法试下,呵呵~~~

#26
DevSdl2007-08-25 00:43

有没有人用SDL的

#27
xiajianchen2007-09-01 05:41

谢谢LZ我想我看到门在哪儿了

#28
我不是尔康2016-06-07 15:49
楼主,看了你辛苦写出来的文章,我有点理解了,,不过对于我这个菜鸟来说还是大部分都还不知道,,,我能不能加你的扣扣啊???
1