具體解釋一下
,build就是你正在使用的機器
,host就是你編譯好的程式可以執行的平台
,target就是你編譯的程式可以處理的平台
.這個build和host比較好理解,但是target就不好辦了,到底什麼意思呢?一般來說,我們平時所說的交差編譯用不到他target的,比如./configure --build=i386-linux,--host=arm-linux就可以了,在386的平台上編譯可以執行在arm板的程式.但是,一般我們都是編譯程式,而不是編譯工具,
如果我們編譯工具,比如gcc,這個target就有用了
.如果我們需要在乙個我們的機器上為arm開發板編譯乙個可以處理mips程式的gcc,那麼target就是mips了.不知道我的解釋是否正確,如果大家看到了這篇帖子,覺得不對,批評指正.
--target=arm-linux 可以不用
./configure cc=/home/self dir/arm-none-linux-gnueabi-gcc --target=arm-linux --host=arm-linux --prefix=/self dir/bin --enable-shared --enable-static
make
make install
在bin目錄鏈結靜態庫
/home/self dir/arm-none-linux-gnueabi-gcc -o in in.c -l. -liconv
執行./in
in.c
#include
#define outlen 255
main()
//**轉換:從一種編碼轉為另一種編碼
int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)
//unicode碼轉為gb2312碼
int u2g(char *inbuf,int inlen,char *outbuf,int outlen)
//gb2312碼轉為unicode碼
int g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen)
交叉編譯使用libiconv
一 環境 虛擬機器 ubuntu 16.04 交叉編譯工具 二 編譯安裝 1 configure prefix usr local libiconv amba install host armv7l timesys linux gnueabi cc home iflytek dyye toolcha...
嵌入式平台移植 libiconv 庫
解壓 tar xvzf libiconv 1.10.tar.gz 編譯前配置 configure prefix root libiconv 1.10 cc arm linux gnueabihf gcc host arm linux enable shared enable static 注 pre...
madplay移植 交叉編譯
移植madplay 需要如下檔案 madplay 0.15.2b.tar.gz libmad 0.15.1b.tar.gz libid3tag 0.15.1b.tar.gz 和zlib 1.2.3.tar.gz。zlib 1.1.4.tar.gz zlib 1.2.3.tar.gz類似 1 配置編譯...