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

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

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

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

分享到微信朋友圈

×

扫一扫,手机浏览