VC 2008编译libxml2-2.7.6

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

1.     下载libxml2-2.7.6源码,地址为:ftp://ftp.xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz

 

2. 解压源码文件后在根目录下可以找到win32的文件夹,打开它可以看到下面有一个configure.js的文件,双击运行它可以生成一个config.msvc的文件。打开config.msvc文件,在里面加上libiconv和zlib的头文件和库文件路径(因此你也可以看到在编译libxml2-2.7.6之前需要先编译libiconv和zlib),参考如下:

INCLUDE=$(INCLUDE);.;$(THIRD_PARTY)\libiconv_1_11_1_vc9\include;$(THIRD_PARTY)\zlib_vc9\include

LIB=$(LIB);.;$(THIRD_PARTY)\libiconv_1_11_1_vc9\lib;$(THIRD_PARTY)\zlib_vc9\lib

 

THIRD_PARTY为我定义的一个环境变量,其值为一个第三方库的路径。

 

3.     打开Visual Studio 2008 命令提示.不是CMD,然后使用cd命令,切换到win32的目录下,执行下面编译命令:

 nmake -f Makefile.msvc 

  这个是编译release版本的库,要编译debug版本的库需要运行下面命令:

nmake -f Makefile.msvc DEBUG=1

注意,编译完release版本后需要运行nmake -f makefile.vc clean命令清理目标文件才能编译debug版本的库。

 

4. 在编译过程中可能会出现
   ..\testapi.c(294) : error C2001: 常量中有换行符
    ..\testapi.c(295) : error C2143: 语法错误 : 缺少“)”(在“return”的前面)
    这个不要紧..是测试代码..不过.改了.也好.打开testapi.c 找到294行.
  if (no == 2) return((xmlChar) '?); 明显少了一个单引号:改为:if (no ==2) return((xmlChar) '?');
  重新 nmake -f Makefile.msvc 编译即可.

 

      如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动投我一票:

http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)

参与投票有机会获奖:

     最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
    幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
    积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。


你可能感兴趣的:(HTML/XML)