簡體   English   中英

如何從源代碼中實現從存儲庫安裝boost的相同結果?

[英]How to achieve the same result installing boost from source as from a repository?

使用以下代碼安裝boost時,可以使用#include <boost/whatever.hpp>將其簡單地包含在項目中:

sudo apt install libboost-dev

根據Boost安裝指令 ,可以使用$BOOST_ROOT實現#include <boost/whatever.hpp>

通過存儲庫安裝boost但是$BOOST_ROOT不存在。

從存儲庫安裝boost時實際發生了什么,以及從源安裝時如何實現相同的結果?

gcc有一個默認的搜索路徑。 當您從源代碼編譯boost並運行make install ,它會將自身安裝到一個名為“BOOST_ROOT”的目錄中。 由於該目錄不在gcc的包含文件的默認搜索路徑中,因此您必須加倍努力才能使程序在編譯時找到標題。

boost deb軟件包將頭文件安裝到/usr/include/boost 由於/usr/include是在gcc頭文件搜索中,因此不需要額外的工作。

如果您想復制該行為,我建議您指示boost安裝到/usr/local/include/boost

/usr/local目錄專用於安裝本地編譯的庫,因此它比deb安裝的/usr/include更好。 這也避免了碰撞。 更好的是,它是gcc默認的頭文件搜索路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM