allegro显示中文问题
听说dev-cpp加allegro显示中文需要allfont的支持,我下载了allfont,并装上了,但是编译下面代码的时候出现错误。请高手指点;代码:
#include <allegro.h>
#include <alfont.h>
/*任何使用allegro的源文件,必须包含allegro.h,使用alfont的源文件必须包含alfont.h,并且Alfont.h应该在allegro.h之后.*/
int main(void)
{
int i;
ALFONT_FONT *user_font;
allegro_init();
install_keyboard();
/* 必须使用allegro_init初始化,然后使用install_keyboard安装键盘.*/
if (set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0) < 0) {
allegro_message("Couldn't set gfx mode: %s\n", allegro_error);
exit(1);
}
/*设置图形模式.*/
/* now init AllegroFont */
if (alfont_init() != ALFONT_OK) {
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
allegro_message("Error while initializing alfont");
allegro_exit();
return 1;
}
/* 初始化alfont,注意在设置成GFX_TEXT模式以后才可以使用allegro_message.*/
/* try to load the font given by the parameter*/
user_font = alfont_load_font("c:\\WINDOWS\\Fonts\\simfang.ttf");
if (user_font == NULL) {
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
allegro_message("Cannot load the font");
alfont_exit();
allegro_exit();
return 1;
}
/*加载ttf字体文件,注意更改字体文件的路径.*/
clear(screen);
/* 清屏.*/
alfont_set_language(user_font, Encode_Code);
alfont_set_convert(user_font, TYPE_WIDECHAR);
alfont_set_char_extra_spacing(user_font, 0);
alfont_set_font_background(user_font, FALSE);
alfont_set_font_size(user_font,20);
alfont_textout_aa(screen, user_font, "这只是一个测试", 0, 0, makecol(255,255,255));
/*输出文本.*/
readkey();
/*等待摁任意键.*/
alfont_destroy_font(user_font);
alfont_exit();
allegro_exit();
/*以上几行一个都不能少.*/
return 0;
}
END_OF_MAIN()
错误信息:
D:\allegro\fdas1.c In function `_mangled_main':
D:\allegro\fdas1.c `Encode_Code' undeclared (first use in this function)
for each function it appears in.)
D:\allegro\fdas1.c `TYPE_WIDECHAR' undeclared (first use in this function)
[[it] 本帖最后由 leeyou 于 2008-3-14 20:55 编辑 [/it]]