zoukankan      html  css  js  c++  java
  • libIconv.lib编码库的生成和使用

    iconv是将一种编码格式转换为另一种编码格式的开源库,例如可以把Windows环境下通用的ASCii(中文是GB2312)编码转换为国际通用的Unicode编码

    iconv最新版本只支持MingW和Cygwin编译

    1. 下载 iconv 库并解压,目前最新版本为 1.31 
              http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

    2、新建一个VC空工程(libIconv)

    (1)libIconv工程下新建一个文件夹Iconv

    (2)将下载的库中lib文件夹下的所有文件拷贝到这个文件夹下

    (3)将烤入到Iconv文件夹下的config.h.in重命名为config.h

    (3)将库中libcharset/lib/localcharset.c文件拷贝到这个文件夹下

    (4)将库中include文件夹下iconv.h.in文件重命名为iconv.h放在Iconv文件夹下

    (5)将库中scrLib/localcharset.h文件拷到Iconv文件夹下

    3、工程中添加现有项,将 iconv.c ,localcharset.c 添加到工程中.

    4、工程属性->C/C++ –>附加包含目录:../Iconv;

    5、工程属性:常规->配置类型->静态库(.lib)

    6、修改文件中的BUG:

    (1) iconv.h :

    1).删除掉所有的 @ 符号 (14处) 
    2).修改25行: extern DLL_VARIABLE int _libiconv_version;

          为  extern /*DLL_VARIABLE*/ int _libiconv_version;  
    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.c:

          注释掉76行:  # include "configmake.h"  

    7、右击解决方案,选择生成解决方案。

    得libIconv.lib静态链接库。头文件是iconv.h(Iconv文件夹下)

  • 相关阅读:
    黑苹果崩溃恢复
    黑苹果声音小解决方法
    idea plugin 进度条
    phpstorm 插件
    awesome mac
    webstorm vue eslint 自动修正配置
    Laravel/php 一些调试技巧
    php ZipArchive 压缩整个文件夹
    laravel 模型事件 updated 触发条件
    php 开启 opcache 之后 require、include 还会每次都重新加载文件吗?
  • 原文地址:https://www.cnblogs.com/pangblog/p/3246830.html
Copyright © 2011-2022 走看看