交叉編譯使用libiconv

2021-09-11 23:37:51 字數 1064 閱讀 1981

一、環境

虛擬機器: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...