簡體   English   中英

如何包含Boost庫?

[英]How do I include Boost libraries?

我正在嘗試將Boost庫合並到我的程序中,特別是lexical_castgeometry 我使用#include"boost/boost/geometry.hpp"#include"boost/boost/lexical_cast/lexical_cast_old.hpp"

當我運行代碼時,我得到了致命的錯誤“無法打開包含文件:'boost / geometry / geometry.hpp':沒有這樣的文件或目錄”這導致我在包含另一個庫的Boost庫中的另一個.hpp文件,但是使用#include<...>而不是#include"..."

當我替換它為"..."這個錯誤就會消失,但是它被替換為使用#include<...>而不是#include"..."包含的下一個庫。

我覺得這可能會讓我#include<...>#include"..."取代幾乎所有#include<...>實例,這需要很長時間。 是否有我可以更改的設置或我可以包含的一段代碼可以解決這個問題?

或者我可以擺脫所有其他不必要的庫並改變我需要的庫(我知道,這仍然會很多,因為它們似乎相互依賴)。

我有Boost庫版本1.58.0。

首先,你應該閱讀有關之間的差異#include "filepath"#include <filepath> 這里

就個人而言,我正在使用Visual Studio中的Boost,如下所示:

  1. 轉到項目屬性C / C ++常規其他包含目錄 ,並添加一個指向boost庫根目錄的路徑(在我的情況下為C:\\Program Files (x86)\\Boost_1_53 )。
  2. 在源代碼中包含.hpp文件,例如#include <boost/lexical_cast/lexical_cast_old.hpp>

如果您使用的是非標題庫,則還應在項目屬性鏈接器常規附加庫目錄中添加Boost庫的路徑。

例如:

  1. Boost庫 - c:\\boost\\boost_1_58_0 (以管理員c:\\boost\\boost_1_58_0運行booststrap.batb2 )。
  2. 將字符串$(THIRD_PARTY)\\boost\\boost_1_58_0\\include$(THIRD_PARTY)\\boost\\boost_1_58_0\\VC ++目錄包含目錄

在Visual Studio 2012中,右鍵單擊項目並選擇“屬性”。

在屬性對話框中,選擇“配置屬性”,然后選擇“VC ++目錄”。

您需要將Boost包含路徑添加到“包含目錄”列表中。

如果您使用的是所有僅限標題的庫,那么您就完成了。 否則,您需要將Boost庫路徑添加到“Library Directories”。

暫無
暫無

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

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