[英]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.