[英]Could NOT find Boost (missing: system) (found suitable versiHow on "1.78.0", minimum required is "1.78.0")
[英]CMAKE: Could NOT find Boost (missing: date_time) (found suitable version “1.76.0”, minimum required is “1.76.0”)
我正在嘗試在 Windows 10 上使用 CMake 的 C++ 程序中添加 boost 組件 date_time。我正在寫下我到目前為止所做的事情。 以下是 CMakeLists.txt 中的代碼
# CMakeList.txt : CMake project for cmake boost with lib, include source and define
# project specific logic here.
#
cmake_minimum_required(VERSION 2.8.9)
project ("hello")
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_DEBUG ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.76.0 COMPONENTS date_time)
if(Boost_FOUND)
include_directories(${BOOST_INCLUDEDIR})
add_executable(progname file1.cxx file2.cxx)
target_link_libraries(progname ${BOOST_LIBRARYDIR})
endif()
add_executable(hello hello.cpp)
請記住,我已將環境變量BOOST_INCLUDEDIR
、 BOOST_LIBRARYDIR
和BOOST_ROOT
為C:\\boost_1_76_0
、 C:\\boost_1_76_0\\stage\\lib
和C:\\boost_1_76_0 respectively
。
我不斷收到此錯誤。
-- Could NOT find Boost (missing: date_time) (found suitable version "1.76.0", minimum required is "1.76.0")
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/jan.muhammad/source/repos/boost in cmake
以下是警告:
Severity Code Description Project File Line Suppression State
Warning CMake Warning (dev) at C:\Users\jan.muhammad\source\repos\boost in cmake\CMakeLists.txt:12 (find_package):
Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Environment variable Boost_ROOT is set to:
C:\boost_1_76_0
For compatibility, CMake is ignoring the variable.
This warning is for project developers. Use -Wno-dev to suppress it. hello C:\Users\jan.muhammad\source\repos\boost in cmake\CMakeLists.txt 12
Warning CMake Warning at C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1354 (message):
New Boost version may have incorrect or missing dependencies and imported
targets C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake 1354
這是cmake .
之后的控制台輸出cmake .
使用 Boost_DEBUG:
PS C:\Users\jan.muhammad\source\repos\boost in cmake> cmake .
-- Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.29.30040.0
-- The CXX compiler identification is MSVC 19.29.30040.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30037/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30037/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:12 (find_package):
Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Environment variable Boost_ROOT is set to:
C:\boost_1_76_0
For compatibility, CMake is ignoring the variable.
This warning is for project developers. Use -Wno-dev to suppress it.
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1657 ] _boost_TEST_VERSIONS = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1658 ] Boost_USE_MULTITHREADED ="ON"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1659 ] Boost_USE_STATIC_LIBS = "OFF"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1660 ] Boost_USE_STATIC_RUNTIME = "OFF"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1661 ] Boost_ADDITIONAL_VERSIONS = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1662 ] Boost_NO_SYSTEM_PATHS = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1694 ] BOOST_ROOT = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1695 ] ENV{BOOST_ROOT} = "C:\boost_1_76_0"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1696 ] BOOST_INCLUDEDIR = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1697 ] ENV{BOOST_INCLUDEDIR} = "C:\boost_1_76_0"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1698 ] BOOST_LIBRARYDIR = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1699 ] ENV{BOOST_LIBRARYDIR} = "C:\boost_1_76_0\stage\lib"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1771 ] _boost_INCLUDE_SEARCH_DIRS = "C:/boost_1_76_0;C:/boost_1_76_0/include;C:/boost_1_76_0;PATHS;C:/boost/include;C:/boost;/sw/local/include"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1772 ] _boost_PATH_SUFFIXES = <unset>
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1787 ] location of version.hpp: C:/boost_1_76_0/boost/version.hpp
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1827 ] Boost_VERSION = "107600"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1828 ] Boost_VERSION_STRING = "1.76.0"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1829 ] Boost_VERSION_MACRO = "107600"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1830 ] Boost_VERSION_MAJOR = "1"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1831 ] Boost_VERSION_MINOR = "76"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1832 ] Boost_VERSION_PATCH = "0"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1833 ] Boost_VERSION_COUNT = "3"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1857 ] Boost_LIB_PREFIX = ""
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1858 ] Boost_NAMESPACE = "boost"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:953 ] _boost_COMPILER = "-vc142;-vc141;-vc140" (guessed)
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1894 ] _boost_MULTITHREADED = "-mt"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1972 ] _boost_ARCHITECTURE_TAG = "-x64" (detected)
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1976 ] _boost_RELEASE_ABI_TAG = "-"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1977 ] _boost_DEBUG_ABI_TAG = "-gd"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:2037 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = "C:/boost_1_76_0/stage/lib;C:/boost_1_76_0/lib;C:/boost_1_76_0/stage/lib;C:/boost_1_76_0/lib64-msvc-14.2;C:/boost_1_76_0/lib64-msvc-14.1;C:/boost_1_76_0/lib64-msvc-14.0;C:/boost_1_76_0/lib;C:/boost_1_76_0/../lib;C:/boost_1_76_0/stage/lib;C:/boost_1_76_0/../lib64-msvc-14.2;C:/boost_1_76_0/../lib64-msvc-14.1;C:/boost_1_76_0/../lib64-msvc-14.0;C:/boost_1_76_0/lib64-msvc-14.2;C:/boost_1_76_0/lib64-msvc-14.1;C:/boost_1_76_0/lib64-msvc-14.0;C:/boost/lib64-msvc-14.2;C:/boost/lib64-msvc-14.1;C:/boost/lib64-msvc-14.0;PATHS;C:/boost/lib;C:/boost;/sw/local/lib"
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:2038 ] _boost_LIBRARY_SEARCH_DIRS_DEBUG = "C:/boost_1_76_0/stage/lib;C:/boost_1_76_0/lib;C:/boost_1_76_0/stage/lib;C:/boost_1_76_0/lib64-msvc-14.2;C:/boost_1_76_0/lib64-msvc-14.1;C:/boost_1_76_0/lib64-msvc-14.0;C:/boost_1_76_0/lib;C:/boost_1_76_0/../lib;C:/boost_1_76_0/stage/lib;C:/boost_1_76_0/../lib64-msvc-14.2;C:/boost_1_76_0/../lib64-msvc-14.1;C:/boost_1_76_0/../lib64-msvc-14.0;C:/boost_1_76_0/lib64-msvc-14.2;C:/boost_1_76_0/lib64-msvc-14.1;C:/boost_1_76_0/lib64-msvc-14.0;C:/boost/lib64-msvc-14.2;C:/boost/lib64-msvc-14.1;C:/boost/lib64-msvc-14.0;PATHS;C:/boost/lib;C:/boost;/sw/local/lib"
CMake Warning at C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1354 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:1476 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:2086 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:12 (find_package)
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:2223 ] Searching for DATE_TIME_LIBRARY_RELEASE: boost_date_time-vc142-mt-x64-1_76;boost_date_time-vc142-mt-x64;boost_date_time-vc142-mt;boost_date_time-vc141-mt-x64-1_76;boost_date_time-vc141-mt-x64;boost_date_time-vc141-mt;boost_date_time-vc140-mt-x64-1_76;boost_date_time-vc140-mt-x64;boost_date_time-vc140-mt;boost_date_time-mt-x64-1_76;boost_date_time-mt-x64;boost_date_time-mt;boost_date_time-mt;boost_date_time
-- [ C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindBoost.cmake:2278 ] Searching for DATE_TIME_LIBRARY_DEBUG: boost_date_time-vc142-mt-gd-x64-1_76;boost_date_time-vc142-mt-gd-x64;boost_date_time-vc142-mt-gd;boost_date_time-vc141-mt-gd-x64-1_76;boost_date_time-vc141-mt-gd-x64;boost_date_time-vc141-mt-gd;boost_date_time-vc140-mt-gd-x64-1_76;boost_date_time-vc140-mt-gd-x64;boost_date_time-vc140-mt-gd;boost_date_time-mt-gd-x64-1_76;boost_date_time-mt-gd-x64;boost_date_time-mt-gd;boost_date_time-mt;boost_date_time
-- Could NOT find Boost (missing: date_time) (found suitable version "1.76.0", minimum required is "1.76.0")
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/jan.muhammad/source/repos/boost in cmake
以下列表應該可以解決問題:
project ("hello")
# either set it here or from the command line
set(BOOST_ROOT "C:/boost_1_76_0")
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(Boost_ADDITIONAL_VERSIONS "1.76.0" "1.76")
find_package(Boost 1.76.0 COMPONENTS date_time)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
endif()
add_executable(hello file1.cxx file2.cxx)
target_include_directories(hello PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(hello ${Boost_LIBRARIES})
主要區別:
BOOST_ROOT
Boost_ADDITIONAL_VERSIONS
target_include_directories()
Boost_LIBRARIES
而不是BOOST_LIBRARYDIR
鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.