DSP

VC6.0 编译 gdlib 库

2019-07-13 12:29发布

环境  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()避免内存泄漏。