專案需要編譯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 ...