C语言libiconv编程,libIconv.lib编码库的生成和使用
iconv是將一種編碼格式轉換為另一種編碼格式的開源庫,例如可以把Windows環境下通用的ASCii(中文是GB2312)編碼轉換為國際通用的Unicode編碼
iconv最新版本只支持MingW和Cygwin編譯
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文件夾下)
C/C++ 關于生成靜態庫(lib)/動態庫(dll)文件如何使用(基于windows基礎篇)
1. 首先,如何制作一個靜態庫(lib)? 額, 對于靜態庫,我們知道,里頭是不應該有Main函數,它只是一個配合文件.之所以稱之為lib靜態庫,其實就是指,我們需要用到lib里頭的函數時,我們才會去 ...
libiconv字符集轉換庫在C#中的使用
一文中說到了libiconv能夠實現不同字符集的轉換. 比方GBK轉BIG5等.在項目中由于須要,找到這個庫.但是這個庫在C#中沒有非常好的支持.只是, ...
通過dll或def文件提取lib導入庫文件
很多時候第三方庫或其他項目提供的庫多數會以動態庫的形式提供dll以及相應的lib導入庫.頭文件,不過也有的只是提供dll和頭文件,或者也提供了def模塊定義(用于導出函數)文件,此時若使用將不得不調用 ...
linux靜態庫的生成與使用(轉)
linux靜態庫的生成與使用(轉) 庫是一種軟件組件技術,庫里面封裝了數據和函數. 庫的使用可以使程序模塊化. Windows系統包括靜態鏈接庫(.lib文件)和動態鏈接庫(.dll文件). Linu ...
QT中靜態庫的生成與使用
一. 靜態庫的生成??? 1. 測試目錄: lib??? 2. 源碼文件名: mywindow.h, mywindow.cpp, 類MyWindow繼承于QPushButton, 并將文字設置為&qu ...
vc6靜態庫的生成和調用
轉自vc6靜態庫的生成和調用 1.靜態庫的生成: 在vc6.0++中Ctrl+N選擇Projects下的Win32 Static Library,Project name:SumLib,點擊OK,下一 ...
VS2008 動態庫和靜態庫的生成和加載
第一:動態庫和靜態庫的生成: 1) 新建一個生成dll工程: 文件->新建->項目->Win32->Win32控制臺應用程序 輸入項目名稱:dllTest ,項目路徑:D:\V ...
QT中共享庫的生成與使用
一. 靜態庫的生成1. 測試目錄: lib2. 源碼文件名: mywindow.h, mywindow.cpp, 類MyWindow繼承于QPushButton, 并將文字設置為"I'm i ...
QT中靜態庫的生成與使用——創建共享庫代碼,附例子
一. 靜態庫的生成??? 1. 測試目錄: lib??? 2. 源碼文件名: mywindow.h, mywindow.cpp, 類MyWindow繼承于QPushButton, 并將文字設置為&qu ...
隨機推薦
RTTI: dynamic_cast typeid
dynamic_cast:將基類類型的指針向派生類指針安全轉換.多用于下行轉換.上行轉換時,和static_cast是一樣的.C++類型轉換看這里.而const_cast用來修改類型的const或vo ...
SpringBoot Schedule 配置
1. 定時任務實現方式 定時任務實現方式: Java自帶的java.util.Timer類,這個類允許你調度一個java.util.TimerTask任務.使用這種方式可以讓你的程序按照某一個頻度執行 ...
Spring MVC 之請求處理方法可接收參數(三)
請求處理方法可接收參數 今天學習了前三個方法. 1.作用域對象2.單個表單提交數據3.表單數據封裝的Bean對象 首先創建一個實體對象. package com.cy.springannotation ...
zoj 3672 Gao The Sequence
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4915題意:a[k]-一個任意的數,這個數要等于a[1]~a[k]每個數減去任意 ...
LeetCode之“動態規劃”:Word Break &;&; Word Break II
1. Word Break 題目鏈接 題目要求: Given a string?s?and a dictionary of words?dict, determine if?s?can be seg ...
怎么隱藏 iOS Safari 打開網頁時的地址欄和工具欄探索
先來看一張截圖 紅色框處就是用手機瀏覽器打開頁面時,自動顯示出來的頭部地址欄和底部工具欄 如果現在有一個需求,用手機瀏覽器打開頁面時,把地址欄和工具欄隱藏,該怎么辦呢? 起初我在度娘找到了好幾篇博客都 ...
Docker-常用命令(7)
## List Docker CLI commandsdockerdocker container --help ## Display Docker version and infodocker -- ...
Charles安裝及配置
安裝包及jar包下載地址: 1.下載Charles Proxy v4.2.dmg鏡像文件,雙擊打開,將Charles拖拽到Applications中,Mac中打開一次Charles后關掉. 2.將下載 ...
SSH框架整合jar包時的注意事項
SSH框架整合jar包時的注意事項: 在將三個框架所需的jar整合到一起后,要看一下有沒有相同類型但是版本不同的jar包,如果有的話,需要把低版本的jar包刪除掉,否則會報錯.我這里整合的時候java ...
總結
以上是生活随笔為你收集整理的C语言libiconv编程,libIconv.lib编码库的生成和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 七年级计算机室使用计划表,七年级信息技术
- 下一篇: data数值设置 vue_怎么改变vue