Win7下编译32位、64位libiconv与libxml2

一、编译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位的

发布了3 篇原创文章 · 获赞 1 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览