簡體   English   中英

在Windows上使用MinGW構建時,cmake FindBoost找不到Boost庫

[英]cmake FindBoost not finding Boost libraries when building with MinGW on Windows

qtcreator支持qmakecmake進行跨平台開發,並且qmake對於Windows上的msvcMinGW構建都可以正常工作。 但是,我只想支持一種工具: cmake

linux以及在Windows上使用cmake構建msvc時, via-httplib上的CMakeLists.txt可以正常工作。 但是,當使用cmakeWindows上構建MinGW時,出現以下錯誤:

C:/ Program Files / CMake / share / cmake-3.13 / Modules / FindBoost.cmake:2100中的CMake錯誤:(消息):
找不到請求的Boost庫。

升壓版本:1.69.0

增強包含路徑:D:/ DevLibraries / boost / boost_1_69_0

找不到以下Boost庫:

  boost_system 

找不到Boost庫。 您可能需要將BOOST_LIBRARYDIR設置為包含Boost庫的目錄,或者將BOOST_ROOT設置為Boost的位置。

在使用Visual Studio 15 2017 Win64生成器和默認本機編譯器時,都設置並找到了BOOST_LIBRARYDIRBOOST_ROOT環境變量

該錯誤消息表明,當使用MinGW Makefiles和默認的本機編譯器時, cmake找到BOOST_ROOT環境變量,而不是BOOST_LIBRARYDIR 因此,似乎與此處描述的問題不同: Cmake找不到Boost

這是FindBoost.cmake的錯誤嗎? 有“解決方法”嗎?

這是_boost_ARCHITECTURE_TAG中的FindBoost.cmake的問題,如第1518行所述。
添加了該標簽以處理Boost 1.66.0和更高版本。

它沒有將MinGW_boost_ARCHITECTURE_TAG設置為-x64 ,因此它正在搜索boost庫名稱,例如:

libboost_system-mgw73-mt-d-1_69.a

代替:

libboost_system-mgw73-mt-d-x64-1_69.a

有一種解決方法:將cmake變量Boost_ARCHITECTURE-x64

注意:設置Boost_ARCHITECTURE作為環境變量是不行的,因為FindBoost.cmake不讀Boost_ARCHITECTURE作為環境變量。

暫無
暫無

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

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