返回

问个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)

名字: 自动排版 密码:

回复 | (1869) | leeyou | 2008-03-14 09:40:19