CMake找到Boost但導入的目標不適用于Boost版本我用CMake找到Boost。找到了Boost,但CMake出錯了導入的目標不適用于Boost版本請參閱下面的完整錯誤(來自macOS)。我究竟做錯了什么?CMake Warning at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
Imported targets not available for Boost version 106300Call Stack (most recent call first):
/Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)/Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)CMakeLists.txt:6 (find_package)Boost version: 1.63.0Found the following Boost libraries:
threadCMake Warning at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
Imported targets not available for Boost version 106300Call Stack (most recent call first):
/Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
/Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:7 (find_package)
2 回答
慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
你的CMake版本太舊了。更新CMake,它會工作。
CMake無法檢測不同Boost庫之間的依賴關系。他們明確地實施了FindBoost。
對于每個Boost版本,這些信息都由CMake維護者添加,它將成為下一個CMake版本的一部分。因此,您必須確保您的CMake版本在您嘗試查找的Boost版本之后發布。
Boost 1.63要求CMake 3.7或更高版本。
Boost 1.64需要CMake 3.8或更高版本。
升壓1.65和1.65.1需要CMake 3.9.3或更高版本。
Boost 1.66需要CMake 3.11或更高版本。
Boost 1.67需要CMake 3.12或更高版本。
升壓1.68,1.69要求CMake 3.13或更高版本。
Boost 1.70需要CMake 3.14或更高版本。
UYOU
TA貢獻1878條經驗 獲得超4個贊
我只想發布以下工作,因為它比我正在工作的系統上升級CMake要容易得多,因為我沒有root / sudo訪問權限。設置BOOST_INCLUDEDIR和BOOST_LIBRARYDIR調用時的CMake直接。
cmake -DBOOST_INCLUDEDIR=... -DBOOST_LIBRARYDIR=... ...
如果Boost更改了CMake隨附的模塊中硬編碼的列表與您正在使用的boost版本之間的依賴關系,則此操作可能無效。從源頭開始安裝cmake需要30秒才能嘗試30分鐘。
添加回答
舉報
0/150
提交
取消
