关于SGE库我已经在以前的日志里介绍过了。如果我们的SGE需要有TrueType 功能,简单地说就是可以在sdl surface上写入文字,还需要加入freetype这个库进行build。
The TrueType functions uses the FreeType library (v2.x). SGE的build需要freetype-2.1.10,否则不会正确build,会有一些错误。因为SGE需要譬如头文件.../freetype/nternal/ftobjs.h,而新版的freetype则不会有这个头文件。 进入http://mirrors.zerg.biz/nongnu/freetype/ 就可以找到freetype-2.1.10 ,可参考freetype-2.1.10/docs/INSTALL.UNX的帮助。
使用msys进入freetype目录依次输入
./configure [options]
make
make install (as root)
然后就会生成正确的.a静态库文件。
使用msys需要注意一些点:
1.需要build的project的路径中不能有空格,譬如C:/Documents and Settings,否则无法识别路径。
2.cd /C/ 进入C盘,要使用反斜杠。
现在build 新的SGE库with TrueType functions。使用同样的方法,加入freetype的include路径和已经编译好的lib。
大功告成。
现在可以使用新的SGE库 with TrueType functions功能。譬如:
写一个几个字到屏幕上:
sge_TTFont *font;
/*注意要将font.ttf文件放入project的目录里*/
font=sge_TTF_OpenFont("font.ttf", 50);
/* Drawstext on screen */
sge_tt_textout(drawScreen, font, "my first SGE text", 50,100, 0,0,255, 0,0,0, 120);
还有一点要注意:因为在build SGE时要对其源文件进行一些改变。当其他project要使用已经被build的SGE的库时候不能使用SGE原始的头文件,而是要使用改变过的头文件。因为include里的.h文件,必须和参与生成dll的文件相同。不然link这个dll则会产生错误。
########
补充,如果要使用VS2005或以后的版本进行编译的话。
在以下网址可以下载到SGE的项目文档,然后建立VC项目。
http://www.digitalfanatics.org/cal/sge/index.html
Download SGE project files for MS Visual C/C++
FreeType library (v2.x).请在到以下网址下载Binaries。
http://gnuwin32.sourceforge.net/packages/freetype.htm
• Binaries
Zip
然后在将freetpye.lib加入项目的Additional Dependencies。
在sge_config.h中将注释掉这行#define _SGE_NOTTF。
这样我们的sge_config.h将如下。
/* SGE Config header (generated automatically) */
#define SGE_VER 030809
#define _SGE_C_AND_CPP
//#define _SGE_HAVE_IMG
//#define _SGE_NOTTF
接下来设定基本完成就可以进行编译了。
没有评论:
发表评论