原始碼編譯Boost庫的正確姿態

2021-09-13 10:21:39 字數 642 閱讀 7849

專案需要編譯pcl庫到arm平台,交叉編譯boost,eigen3, flann, 之後再編譯pcl庫的時候總是報錯,讓新增-fpic選項重新編譯。沒細看以為是要在編譯pcl庫時新增-fpic,前試後試了各種方法新增-fpic選項,還是報錯。搜錯誤**得到的答案還是要新增-fpic[doge]。

編譯boost時新增-fpic選項,此選項的意思是生成與位址無關的庫檔案,在編譯其他依賴boost庫的庫檔案時非常有用。

在boost_1_xx_x/tools/build目錄下搜尋gcc.jam,找到rule setup-fpic(targets * : sources * : properties *)這行,將其規則內的if $(link) = shared 改為if $(link) = shared || $(link) = static

儲存退出。

在boost_1_xx_x/目錄下執行bootstrap

如果要進行交叉編譯則修改project-config.jam檔案,將using gcc;修改為using gcc : arm : arm-linux-gnueabihf-gcc-5 ;注意空格

在pcl的編譯中依賴與boost的mpi庫,因此在project-config.jam檔案中新增一行using mpi ;

centos 原始碼編譯安裝boost庫

執行命令mkdir boostrec建立資料夾。執行命令cd進入boostrec資料夾下。2 解壓檔案 tar zxvf boost 1 63 0.tar.gz 3 執行命令.bootstrap.sh 預設的boost標頭檔案安裝到 usr local include 資料夾下。boost庫檔案會安...

boost 原始碼 ref 庫分析

引用檔案 boost ref.hpp 一般情況下,泛型演算法中的函式物件,傳值語義是可行的,但是也有很多特殊情況,作為引數的函式物件拷貝代價過高 具有複雜的內部狀態 或者不希望拷貝物件 內部狀態不應該被改變 甚至拷貝是不可行的 noncopyable,單件 boost.ref應用 模式,引入物件引用...

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 ...