簡體   English   中英

如何在Boost 1.57中安裝Boost模塊(應用程序和dll)

[英]How to install boost modules in boost 1.57 (application and dll)

我要安裝:

我正在按照Boost.DLL的說明進行操作:

  • 克隆Boost.DLL存儲庫: git clone https://github.com/apolukhin/Boost.DLL dll
  • 輸入dll/test文件夾並運行./b2 cd dll/test; ../../../b2 cd dll/test; ../../../b2

測試失敗,原因:

F:\\ P \\ threeparty \\ boost \\ boost / function / function_template.hpp(767):錯誤C2664:'int(boost :: detail :: function :: function_buffer&,T0)':無法從'std轉換參數2: :string'到'std :: basic_string <_Elem,_Traits,_Alloc>'

(我也試圖將include / boost / *復制到/ boost / *)

據我所見,測試通過了...

但是當我嘗試使用它時,我還是找不到...即使使用cmake

find_package( Boost 1.57 COMPONENTS system filesystem dll application REQUIRED )

我越來越:

找不到以下Boost庫:

  boost_dll boost_application 

那么安裝此模塊的正確方法是什么?

Boost :: Application和Boost :: DLL不是Boost的一部分,因此Cmake無法找到它們。

到目前為止,我還沒有深入研究Boost :: DLL,但是Boost :: Application可以由您的項目中的簡單克隆/子模塊使用。 它是僅標頭的庫,因此不需要構建/安裝。

示例項目可以在github上找到。

在我的情況下,它是<項目根目錄> / hdr / application的git子模塊。

有兩種方法:

  • 如果要使用現有的Boost安裝,則由於這些庫僅是頭文件,因此只需要將目錄“ include / boost”的內容復制到boost安裝的include文件夾中即可。

復制“ Boost.Application / include / boost / *”到“ boost_installation_dir / boost /”

  • 如果您要構建boost和運行測試等,則需要將它們復制到boost源的libs目錄(而不是boost安裝)中,因此存在boost / libs / application和“ boost / libs / dll”,例如:

復制“應用程序”到“ boost_src_dir / libs”

然后,像平常在平台上一樣構建和安裝boost(遵循入門

兩種方式:您不必在cmake文件中執行find_package,因為這兩個庫僅是頭文件,只需在源文件中包含頭文件即可。

至於測試:它們對我也不起作用,但是您實際上並不需要它們來使用庫。

暫無
暫無

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

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