环境 WinXP, MSVC6.0
1 从 https://bitbucket.org/libgd/gd-libgd/downloads 下载最新版本 libgd
2 可以用 nmake 编译 windowsMakefile.w32,那么下面内容你都可以跳过。
3 如果使用 dsp的话,新建空的动态或静态库项目,添加src文件夹下源文件,dsp文件夹中新增以下
SOURCE=.srcgd.c
SOURCE=.srcgd_bmp.c
SOURCE=.srcgd_color.c
SOURCE=.srcgd_color_map.c
SOURCE=.srcgd_color_map_test.c
SOURCE=.srcgd_color_match.c
SOURCE=.srcgd_crop.c
SOURCE=.srcgd_filter.c
SOURCE=.srcgd_gd.c
SOURCE=.srcgd_gd2.c
SOURCE=.srcgd_gif_in.c
SOURCE=.srcgd_gif_out.c
SOURCE=.srcgd_interpolation.c
SOURCE=.srcgd_io.c
SOURCE=.srcgd_io_dp.c
SOURCE=.srcgd_io_file.c
SOURCE=.srcgd_io_ss.c
SOURCE=.srcgd_jpeg.c
SOURCE=.srcgd_matrix.c
SOURCE=.srcgd_nnquant.c
SOURCE=.srcgd_png.c
SOURCE=.srcgd_rotate.c
SOURCE=.srcgd_security.c
SOURCE=.srcgd_ss.c
SOURCE=.srcgd_tga.c
SOURCE=.srcgd_tiff.c
SOURCE=.srcgd_topal.c
SOURCE=.srcgd_transform.c
SOURCE=.srcgd_wbmp.c
SOURCE=.srcgd_webp.c
SOURCE=.srcgd_xbm.c
SOURCE=.srcgdcache.c
SOURCE=.srcgdcmpgif.c
SOURCE=.srcgdfontg.c
SOURCE=.srcgdfontl.c
SOURCE=.srcgdfontmb.c
SOURCE=.srcgdfonts.c
SOURCE=.srcgdfontt.c
SOURCE=.srcgdft.c
SOURCE=.srcgdfx.c
SOURCE=.srcgdhelpers.c
SOURCE=.srcgdkanji.c
SOURCE=.srcgdparttopng.c
SOURCE=.srcgdtables.c
SOURCE=.srcgdxpm.c
SOURCE=.libgd.cpp
SOURCE=.srcwbmp.c
SOURCE=.srcwebpimg.c
SOURCE=.srcwebpng.c
4. gd.h Line 30 有定义 # ifdef BGDWIN32
那在项目设置中加入 BGDWIN32,或者将BGDWIN32 改为原有定义(我的是 LIBGD_EXPORTS)如下
# ifdef LIBGD_EXPORTS
5. gd_interpolation.c Line 69 #ifdef _MSC_VER 改为 #if _MSC_VER >= 1300
6. gd_interpolation.c Line 2203 floorf 改为 floor
7. gd_xbm.c Line 155 vsnprintf 改为 _vsnprintf
8. gd_tiff.c Line 516 bug
for (mask = 0x80; mask != 0 && x < startx + width; mask >>= 1) {
应改为
for (mask = 0x80; mask != 0 && x < startx + width; x++, mask >>= 1) {
注意事项: 调用完 gdImageStringFT 等与字体显示有关函数后,在程序结束前必须调用 gdFontCacheShutdown()避免内存泄漏。