qrencode交叉編譯

2021-08-08 21:29:40 字數 1634 閱讀 5891

發表於

2017/4/20 16:56:16  

436人閱讀

分類: qt

c++

系統環境:ubuntu 12.04.3 lts 

交叉編譯器:arm-none-linux-gnueabi-gcc(v4.5.2)

所需原始碼包: 

zlib-1.2.3.tar.gz, 

libpng-1.2.12.tar.gz, 

qrencode-3.4.4.tar.gz, 

1、交叉編譯zlib庫 

tar -xzvf zlib-1.2.3.tar.gz 

export cc=arm-none-linux-gnueabi-gcc 

./configure –shared 

make 

make install

生成: 

/usr/local/include/zconf.h zlib.h 

/usr/local/lib/libz.so libz.so.1 libz.so.1.2.3

2、交叉編譯libpng庫 

tar -xzvf libpng-1.2.12.tar.gz 

export ldflags=」-l/usr/local/lib」 

export cppflags=」-i/usr/local/include」 

./configure –host=arm-linux

vim config.h 

注釋掉#define malloc rpl_malloc

make 

make install 

生成:/usr/local/include/libpng12 pngconf.h png.h 

/usr/local/lib/ibpng12.a libpng12.so libpng12.so.0.12.0

3、交叉編譯qrencode工具 

tar -xzvf qrencode-3.4.4.tar.gz 

./configure –host=arm-linux –prefix=/usr/local/qrencode-arm-linux –x-libraries=/usr/local/lib

vi makefile 

新增 libs = -lz

make 

make install 

生成:/usr/local/qrencode-arm-linux

4、移植 

將/usr/local/liblibpng12.so libpng12.so.0 libpng12.so.0.12.0 和 

/usr/local/qrencode-arm-linux/lib/libqrencode.la libqrencode.so libqrencode.so.3 libqrencode.so.3.4.4 ; 

移植到arm板子的/usr/lib 下

將 /usr/local/qrencode-arm-linux/lib/qrencode 移植到板子的/usr/bin下

5、測試 

qrencode -s 4 -o 4.png 1234567890 

qrencode -s 5 -o 5.png 1234567890 

qrencode -s 6 -o 6.png 1234567890

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

交叉編譯(2) 交叉編譯鏈

什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...

交叉編譯 Go 交叉編譯 跨平台編譯

golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goos windows goarch amd64 go build main.go cgo ...