一、编译libiconv
1、下载libiconv的源文件,下载链接是https://ftp.gnu.org/pub/gnu/libiconv/,在此使用的是最新版本libiconv-1.15
2、解压后新建一个vs2010空的控制台dll程序,命名为libiconv
3、从下载的libiconv-1.15\lib\里拷贝relocatable.h、relocatable.c、iconv.c文件到新创建的libiconv程序中的libiconv文件夹下
4、拷贝libiconv-1.15\libcharset\lib\localcharset.c到libiconv程序中的libiconv文件夹下
5、拷贝libiconv-1.15\libcharset\include\localcharset.h.build.in到libiconv程序中的libiconv文件夹下并重命名为localcharset.h
6、拷贝libiconv-1.15\windows\libiconv.rc到libiconv程序中的libiconv文件夹
7、在libiconv中新建文件夹include
8、拷贝libiconv-1.15\include\iconv.h.build.in到libiconv程序中的include文件夹下并重命名为iconv.h
9、拷贝libiconv-1.15\lib目录下的所有*.h and *.def文件到libiconv程序中的include文件夹下
注:将以上*.c结尾的文件重命名为*.cpp
10、在vs程序中添加以下现有项到项目中:
11、设置项目属性,附加包含目录:../include
12、修改以下文件内容
libiconv.rc文件中添加以下红框选中代码:
iconv.cpp文件中修改如下地方,将ICONV_CONST改成const:
localcharset.cpp中修改如下,注释红色区域代码:
localcharset.h文件中修改如下,注释红色框代码,增加黄色框代码:
config.h文件中修改如下,注释红色框内容:
iconv.h文件中修改如下,注释红色框内容,增加黄色框内容:
13、编译生成即可,32位与64位步骤相同
二、编译libxml2
1、下载libxml2源文件,下载路径是http://xmlsoft.org/sources/,在此使用的版本是libxml2-sources-2.9.7.tar.gz
2、解压文件到目录F:\libxml2-2.9.7
3、在F盘新建文件夹xml,并在该文件夹下创建include和lib文件,将iconv.h、libcharset.h、localcharset.h文件放入include文件夹下,iconv.lib(如果上面libiconv生成出来的lib文件命名不是这样,需要修改,否则生成libxml2时会提示找不到iconv.lib文件)文件放入lib文件夹下
4、打开Visual Studio 2010命令提示程序
5、将工作目录cd到F:\libxml2-2.9.7\win32
6、输入cscript configure.js prefix=F:\xml include=F:\xml\include lib=F:\xml\lib debug=no
这里面prefix是存放libxml2生成的文件存放路径,include是包含文件(步骤3中存放头文件)路径,lib是库文件(步骤3中存放iconv.lib)路径,debug为yes是生成debug调试版本,为no是生成release版本
7、nmake /f Makefile.msvc
8、nmake /f Makefile.msvc install
完成后即可在F:\xml\bin中找到生成的库与可执行程序
以上是生成32位版本库,如果想要生成64位版本库,需在步骤4与步骤5中间插一句代码call bin\amd\64\vcvars64.bat,将开发环境设置成64位的