Windows下libXML2 和LibIconv的64位Lib库的编译过程

在编译PDAL的过程中,需要用到LibXML2这个库,在参考了诸位大神的博客后,历经几天终于编译成功。

考虑到LibXML2又使用了LibICONV这个库,现在把这2个库编译过程发布,与大家共享。

参考文章:1)https://blog.csdn.net/xiao_lxl/article/details/80592897

2)https://blog.csdn.net/longji/article/details/53404101

版本:libiconv 版本1.15  /  LibXML2版本2.9.8 /   源代码官网下载

附件:

1)libiconv完整VS2013项目,https://download.csdn.net/download/tgzhang/10640610

2)LibXML2版本2.9.8完整编译批处理文件:https://download.csdn.net/download/tgzhang/10640614

 

LiblCONV1.15的X64位LIB库 编译过程

 

一、新建项目

  1. 用vs2013新建一个静态库(Lib)项目,项目名:ICONV

项目路径D:\libICONV1.15\

二、拷贝文件:

2、拷贝 libICONV_SRC\libiconv-1.15\lib\*.*  到   D:\libICONV1.15\ ICONV

3、拷贝 libICONV_SRC\lib\localcharset.c   到D:\libICONV1.15\ ICONV

4、拷贝 libICONV_SRC\include\iconv.h.in 到D:\libICONV1.15\ ICONV

5、拷贝 libICONV_SRC\include\ localcharset.h.in 到D:\libICONV1.15\ ICONV

三、文件改名

将config.h.in 改名为 config.h

将Iconv.h.in改名为 iconv.h

将localcharset.h.in 改名为 localcharset.h

四、修改错误

1)iconv.h

(1)删掉所有的@符号(14处)。将“@”查找替换为“”即可(仅仅去掉@)。

(2)修改25行

extern DLL_VARIABLE int _libiconv_version; /* Likewise */ 修改为

extern /*DLL_VARIABLE*/ int _libiconv_version; /* Likewise */

(3)修改83行

extern size_t iconv (iconv_t cd, ICONV_CONST char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);

修改为

extern size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);

2)修改localcharset.h

(1)注释掉 76行  #include “configmake.h”

(2)511行:

printf(

修改为

sprintf_s (buf, "CP%s", pdot + 1)

(3)521行:

printf(

修改为

sprintf_s (buf, "CP%u", GetACP ());

 

五、在工程中添加  iconv.c localcharset.c 到工程中

如果提示找不到iconv.h 或  localcharset.h,则可以:

  1. 将 #include <iconv.h>修改为 #include “iconv.h”
  2. 将#include < localcharset.h>修改为 #include “localcharset.h”
  3. 考虑将iconv.h也加入到工程中。

 

六、将平台修改为X64,即可编译得到debug和Release版本的LIB文件

 

相应的完整VS2013项目,可以在https://download.csdn.net/download/tgzhang/10640610下载

 

LIBXMLS 2.9.8的windows X64位LIB库 编译过程

完整编译批处理文件:https://download.csdn.net/download/tgzhang/10640614

DEBUG版本 DLL和LIB编译过程

用windows的命令窗口,在源码win32目录中,依次输入一下命令

 

rem 初始化VS的x64版本编译环境

"c:\Program Files (x86)\Microsoft Visual Studio 12.0\vc\bin\amd64\vcvars64.bat"     这一行需要根据你实际vs版本替换。

nmake clean

rem 动态连接库x64 debug版

cscript configure.js compiler=msvc iconv=yes prefix=c:\workspace\libxml2\x64\Debug include=c:\workspace\libxml2\x64\Debug\include lib=c:\workspace\libxml2\x64\Debug\lib debug=yes

nmake /f Makefile.msvc install > "debug.log"

 

Release版本 DLL和LIB编译过程

用windows的命令窗口,在源码win32目录中,依次输入一下命令

 "c:\Program Files (x86)\Microsoft Visual Studio 12.0\vc\bin\amd64\vcvars64.bat" 这一行需要根据你实际vs版本替换

nmake clean

rem 动态连接库x64 release版

cscript configure.js compiler=msvc iconv=yes prefix=c:\workspace\libxml2\x64\release include=c:\workspace\libxml2\x64\release\include lib=c:\workspace\libxml2\x64\release\lib debug=no

nmake /f Makefile.msvc install > releasex.log

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值