一、環境
虛擬機器:ubuntu-16.04
交叉編譯工具:
二、編譯安裝
1、./configure --prefix=/usr/local/libiconv_amba_install/ --host=armv7l-timesys-linux-gnueabi- cc=/home/iflytek-dyye/toolchain/bin/armv7l-timesys-linux-gnueabi-gcc cxx=/home/iflytek-dyye/toolchain/bin/armv7l-timesys-linux-gnueabi-g++ --enable-shared --enable-static
2、make
注意:
報錯,
error: 『gets』 undeclared here (not in a function);
解決辦法:vi srclib/stdio.in.h,
搜尋_gl_warn_on_use (gets, 「gets is a security hole - use fgets instead」);
替換為#if defined(__glibc__) && !defined(__uclibc__) && !__glibc_prereq(2, 16) _gl_warn_on_use (gets, "gets is a security hole - use fgets instead"); #endif
3、sudo make install
注意:報錯:armv7l-timesys-linux-gnueabi
-ranlib command not found
export path=/home/iflytek-dyye/toolchain/bin:$path
儲存退出,重啟系統,再進入當前目錄下,sudo su進入管理員許可權,再make install即可完成安裝。
4、最後在prefix指定的目錄下會生成相應工具和庫。
三、參考
libiconv交叉移植
具體解釋一下 build就是你正在使用的機器 host就是你編譯好的程式可以執行的平台 target就是你編譯的程式可以處理的平台 這個build和host比較好理解,但是target就不好辦了,到底什麼意思呢?一般來說,我們平時所說的交差編譯用不到他target的,比如.configure bui...
libiconv使用小例子
最近用到一點轉碼的東西,在網上搜到乙個libiconv,使用了一下感覺還可以,不過還是有一兩處容易犯錯的地方,除錯了半天才搞明白,此處是乙個將utf 8轉換為gbk的小例子 std string convfromutf8 std string s size t inlen s.size const ...
學習使用libiconv庫
libiconv庫是乙個基於gnu協議的開源庫,主要是解決多語言編碼處理轉換等應用問題。怎樣學習使用libiconv庫?對於剛接觸到人來說,這篇文章不妨去看一看,若已經用到過該庫的人,在應用的過程中可能遇到一些問題,我們可以一起來 我的 是 cnangel gmail.com 幾個函式原型 icon...