交叉編譯部分boost庫

2021-06-23 05:02:29 字數 1638 閱讀 2640

1、進入/work/src_packages/boost_1_49_0目錄,執行

sudo ./bootstrap.s

通過執行sudo ./bootstrap.s  --show-libraries 顯示所有的庫

2、修改 project-config.jam 為以下內容:、 將:

using gcc ;

修改為:

using gcc : arm : /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc ;

3、在這裡只交叉編譯執行緒庫,執行:

sudo ./bjam stage --with-thread --build-type=complete --layout=tagged

一定要加上--layout=tagged這個選項,否則會報如下錯誤:

error: cannot use --layout=system with --build-type complete.

error: please used either --layout=versioned or --layout=tagged

error: if you wish to build multiple variants.

error: note that --layout=system is default on unix starting with boost 1.40.

libboost_thread-mt.a   

libboost_thread-mt-d.so       

libboost_thread-mt-s.a 

libboost_thread-mt.so

libboost_thread-mt-d.a

libboost_thread-mt-d.so.1.49.0

libboost_thread-mt-sd.a 

libboost_thread-mt.so.1.49.0

--stagedir=

存放編譯後庫檔案的路徑,預設是stage

--build-type=complete

編譯所有版本,不然只會編譯一小部分版本(確切地說是相當於:variant=release, threading=multi;link=shared|static;runtime-link=shared)

variant=debug|release

決定編譯什麼版本(debug or release?)

link=static|shared

決定使用靜態庫還是動態庫。

threading=single|multi

決定使用單執行緒還是多執行緒庫。

runtime-link=static|shared

決定是靜態還是動態鏈結c/c++標準庫。

--with-

只編譯指定的庫,如輸入--with-regex就只編譯regex庫了。

--show-libraries

顯示需要編譯的庫名稱

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大功告...

boost庫的交叉編譯

1.首先執行boost解壓目錄下的 bootstrap.sh 2.修改生成的project config.jam檔案 修改 using gcc opt poky linux gcc sysroot opt poky 2.4.2 sysroots aarch64 poky linux 注 1.gcc ...