VS 2008 编译iconv库
2016-05-14 16:10
441 查看
iconv是常用的一个字符集转换的开源库,主页在http://www.gnu.org/software/libiconv/
1.11.1版本是最后一个支持MSVC编译的版本,1.12及之后的版本只支持MingW和Cygwin编译,下面是我用vs2008编译iconv的过程
1.下载1.11版本的libiconv
2.在srclib/progname.h文件中添加一行:
#define EXEEXT ".exe"
3.将srclib/stdint_.h更名为srclib/stdint.h,并将'@'符号全部移除
4.对srclib/Makefile.msvc进行以下改动:
1) 在OBJS=的定义中添加 width.obj
2) 添加如下定义:
width.obj : width.c
$(CC) $(INCLUDES) $(CFLAGS) -c width.c
5.在c盘下创建lib_x86文件夹
6.调用以下命令编译DLL或LIB
nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD PREFIX=c:\lib_x86 IIPREFIX=c:\lib_x86
nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD install PREFIX=c:\lib_x86 IIPREFIX=c:\lib_x86
或
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD PREFIX="c:/slib_x86" IIPREFIX="c:/slib_x86"
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD install PREFIX="c:/slib_x86" IIPREFIX="c:/slib_x86"
PREFIX 和 IIPREFIX中的路径,必须用绝对路径
7.编译完后,程序在./lib_x86目录下
一、编译win64位
0、转移到命令行cmd
1、执行amd64位脚本,D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\amd64\vcvarsamd64.bat
2、转移到libiconv-1.11.1目录
3、编译nmake -f Makefile.msvc DLL=1 MFLAGS=-MT NO_NLS=1 PREFIX=d:\libuv
4、安装nmake -f Makefile.msvc install DLL=1 MFLAGS=-MT NO_NLS=1 PREFIX=d:\libuv
5、编译并安装nmake -f Makefile.msvc all install DLL=1 MFLAGS=-MT NO_NLS=1 PREFIX=d:\libuv
编译并安装后的结果目录,如下图
二、编译win32位
0、转移到命令行cmd
1、执行32位脚本,D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
其他步骤与win64一致。
(编译好的Win32和Win64动态库及资料,移步http://download.csdn.net/detail/pony12/7789473)
1.11.1版本是最后一个支持MSVC编译的版本,1.12及之后的版本只支持MingW和Cygwin编译,下面是我用vs2008编译iconv的过程
1.下载1.11版本的libiconv
2.在srclib/progname.h文件中添加一行:
#define EXEEXT ".exe"
3.将srclib/stdint_.h更名为srclib/stdint.h,并将'@'符号全部移除
4.对srclib/Makefile.msvc进行以下改动:
1) 在OBJS=的定义中添加 width.obj
2) 添加如下定义:
width.obj : width.c
$(CC) $(INCLUDES) $(CFLAGS) -c width.c
5.在c盘下创建lib_x86文件夹
6.调用以下命令编译DLL或LIB
nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD PREFIX=c:\lib_x86 IIPREFIX=c:\lib_x86
nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD install PREFIX=c:\lib_x86 IIPREFIX=c:\lib_x86
或
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD PREFIX="c:/slib_x86" IIPREFIX="c:/slib_x86"
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MD install PREFIX="c:/slib_x86" IIPREFIX="c:/slib_x86"
PREFIX 和 IIPREFIX中的路径,必须用绝对路径
7.编译完后,程序在./lib_x86目录下
一、编译win64位
0、转移到命令行cmd
1、执行amd64位脚本,D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\amd64\vcvarsamd64.bat
2、转移到libiconv-1.11.1目录
3、编译nmake -f Makefile.msvc DLL=1 MFLAGS=-MT NO_NLS=1 PREFIX=d:\libuv
4、安装nmake -f Makefile.msvc install DLL=1 MFLAGS=-MT NO_NLS=1 PREFIX=d:\libuv
5、编译并安装nmake -f Makefile.msvc all install DLL=1 MFLAGS=-MT NO_NLS=1 PREFIX=d:\libuv
编译并安装后的结果目录,如下图
二、编译win32位
0、转移到命令行cmd
1、执行32位脚本,D:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
其他步骤与win64一致。
(编译好的Win32和Win64动态库及资料,移步http://download.csdn.net/detail/pony12/7789473)
相关文章推荐
- cocos2dx 交叉编译 iconv库 protobuf库
- cocos2d-x 3.4 中文乱码解决之道
- android cordova hybrid app总结
- 大量 Material Design 学习资源
- Spring框架基础
- 商业研究(16):实体经济之殇,互联网经济之困?
- 商业研究(16):实体经济之殇,互联网经济之困?
- android中关于位移动画TranslateAnimation开始和结束时闪动问题的记录
- FileOutputStream和FileInPutputStream流的联合使用
- 商业研究(16):实体经济之殇,互联网经济之困?
- 写给考完SDOI2016R2D1的自己
- android-----带你一步一步优化ListView(一)
- nova boot代码流程分析(四):nova与neutron的l2 agent(neutron-linuxbridge-agent)交互
- 最大报销额 HDU 1864
- Bug:“iterator_category”: 不是*的成员——当自定义函数与系统函数重名
- 用Node.js开发微信公众号
- 【C++】判断元素是否在vector中,对vector去重,两个vector求交集、并集
- HZAU 1003 Alien invasion
- 清华梦的粉碎——写给清华大学的退学申请
- viewpage实例