wget
解壓中tar -xzvf curl-7.65.3.tar.gz
ubuntu的終端操作:
export path=$path:/home/work/arm-linux-toolchain/bin/
export arch=arm
export cross_compile=arm-none-linux-gnueabi-
export cc=arm-none-linux-gnueabi-gcc
export cxx=arm-none-linux-gnueabi-g++
make clean
cd curl-7.65.3
正式開始
(1)./configure --host=arm-linux --prefix=/home/curl
//host表明目標是arm平台,--host=mipsel-linux 表明目標是mips平台;
// 交叉安裝 安裝的目錄/home/curl。
(2)靜態庫和動態庫都編譯
cppflags="-i/home/linux/opt/openssl/ -i/home/linux/opt/openssl/include" ldflags="-l/home/linux/opt/openssl/lib" libs="-ldl" ./configure --with-ssl --enable-shared --enable-static --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-ldaps --disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp --disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp --without-libssh2 --without-nss --without-zlib --prefix=/home/linux/opt/curl
(3)只編譯靜態庫
如果是因為許可權問題,使用sudo make install
交叉編譯使用的時候:如下所示
sdk/camerahdv/*.cpp sdk/common/camerasdk.cpp sdk/common/camerasdkhdv.cpp -lx64/debug -lcommon -lcurl -fpic -shared -o x64/debug/libcamerasdkhdv.so
/usr/bin/g++ -g -dlinux test/sdkcamera/*.cpp -icommon/common -isdk/common -lx64/debug -lcommon -lcamerasdkhdv -lpthread -ldl -fpic -o x64/debug/sdkcamere
要將lib和include都要包含
使用 curl --version 檢查是否更新成功
linux 交叉編譯找不到庫檔案
網上大眾的作法這裡不做介紹 在編譯一些庫的時候可能某些工具會用到宿主機的,而這些工具在呼叫的時候會找和宿主機匹配的庫,而交叉編譯的庫是不能用的,遇見這種情況基本是解決不了的,但是可以通過configure 的選項去掉這些過程,舉個例子 我在編譯 udev 的時候 用到 g ir scanner 這個...
boost庫交叉編譯
1.環境 linux系統 ubuntu 14.04 編譯工具 arm fsl linux gnueabi gcc 3.編譯 1 解壓,cd 到目錄 show libraries可檢視所有庫,如下 使用 without libraries 逗號隔開去掉不想編譯的庫,prefix 指定編譯後的安裝路徑 ...
交叉編譯boost庫
1.確保arm編譯成功安裝,並配置好環境變數。2.解壓boost壓縮包 3.進入目錄執行.bootstrap.sh,此時形成bjam檔案和project config.jam using gcc arm linux gnueabihf gcc 注意是雙冒號 5.執行.bjam stage,ok大功告...