SIP(26):VS2008使用libxml2库
(2012-11-03 09:13:52)没想到今晚在编译XML的时候遇到这么大的阻碍,测试所用源代码在最末尾的地方贴出。
首先在http://xmlsoft.org/sources/win32/下载libxml2-2.7.8.win32.zip.内有编译好的libxml。解压,将其中的Include目录添加到工程。
然后在http://gettext.sourceforge.net/下载编译好的libiconv,解压,将其Include目录添加到工程。
注意需要使用.cpp文件并且选择编译为C++代码,否则会出现http://wenku.baidu.com/view/54e59b2ab4daa58da0114ac9
现在编译就能通过,但是会在编译的时候出现若干个不能解析的外部变量,这明显是因为没有加入响应的.lib文件。在编译好的libxml中的lib文件夹中libxml2.lib加入项目,解决。
现在编译和链接都可以成功了,但是在最后运行的时候找不到dll文件,这里需要把libxml2.dll、iconv.dll、zlib1.dll。其实原本很容易应该就能成功了,但是由于从网上的zlib1.dll版本太旧,出现了下述问题:
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib_1.2.5-2_win32.zip
这之后即可成功,生成了一个xml文件如下:
----小结-----
这次提供了确实有用信息的网址如下:
http://www.myexception.cn/xml-soap/403107.htm:提供了确切的已经编译好的libxml下载地点,但是dll版本过旧,不要使用。
http://hi.baidu.com/stray8448/blog/item/39a0d9029c4ad67f3812bb66
http://blog.csdn.net/qq1987924/article/details/7695234:提供了上述问题的解决方案,即最新zlib.dll的下载地址。
用于测试编译的源代码如下:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
using namespace std;
int main()
{
}