使用 clang CMake 包含 Boost 构建
Include Boost build with clang CMake
我正在尝试使用 CMake 为我的项目添加 boost,但我收到“找不到 Boost”错误。 CMake 输出显示了正确的库名称和路径,但仍然找不到。
也许我的问题出在库的非标准路径上,但我希望能够将库放在对我来说方便的地方。
提升 1.74
Visual Studio 2019
CMake 3.19
我的CMakeList.txt
cmake_minimum_required (VERSION 3.19)
set(BOOST_ROOT "E:/boost_1_74_0")
set(ENV{BOOST_ROOT} "E:/boost_1_74_0")
set(Boost_DIR "E:/boost_1_74_0")
set(BOOST_LIBRARYDIR "E:/boost_1_74_0/stage/lib")
set(ENV{BOOST_LIBRARYDIR} "E:/boost_1_74_0/stage/lib")
set(BOOST_INCLUDEDIR "E:/boost_1_74_0")
set(Boost_NO_SYSTEM_PATHS TRUE)
set(Boost_USE_STATIC_RUNTIME FALSE)
set(Boost_USE_STATIC_LIBS TRUE)
set(Boost_USE_MULTITHREADED TRUE)
set(THREAD_LIBRARY_DEBUG TRUE)
set(Boost_USE_DEBUG_RUNTIME FALSE)
set(Boost_COMPILER "-clang11")
set(Boost_DEBUG 1)
find_package(Boost COMPONENTS data_time)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost Not found")
endif()
include_directories (${Boost_INCLUDE_DIR})
add_executable (main "src/main/main.cpp")
target_include_directories(main PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(main ${Boost_LIBRARIES})
CMake 输出
CMake generation started for configuration: 'x64-Clang-Release'.
Environment settings:
CXXFLAGS=-m64 -fdiagnostics-absolute-paths
CFLAGS=-m64 -fdiagnostics-absolute-paths
Command line: "cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "D:\VISUAL STUDIO\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe" -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:PATH="D:\PetProject\BoostAsioReseller\out\install\x64-Clang-Release" -DCMAKE_C_COMPILER:FILEPATH="D:/VISUAL STUDIO/VC/Tools/Llvm/x64/bin/clang-cl.exe" -DCMAKE_CXX_COMPILER:FILEPATH="D:/VISUAL STUDIO/VC/Tools/Llvm/x64/bin/clang-cl.exe" -DCMAKE_MAKE_PROGRAM="D:\VISUAL STUDIO\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\PetProject\BoostAsioReseller" 2>&1"
1> Working directory: D:\PetProject\BoostAsioReseller\out\build\x64-Clang-Release
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1657 ] _boost_TEST_VERSIONS = "1.75.0;1.75;1.74.0;1.74;1.73.0;1.73;1.72.0;1.72;1.71.0;1.71;1.70.0;1.70;1.69.0;1.69;1.68.0;1.68;1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65;1.64.0;1.64;1.63.0;1.63;1.62.0;1.62;1.61.0;1.61;1.60.0;1.60;1.59.0;1.59;1.58.0;1.58;1.57.0;1.57;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45;1.44.0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1658 ] Boost_USE_MULTITHREADED = "TRUE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1659 ] Boost_USE_STATIC_LIBS = "TRUE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1660 ] Boost_USE_STATIC_RUNTIME = "FALSE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1661 ] Boost_ADDITIONAL_VERSIONS = <unset>
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1662 ] Boost_NO_SYSTEM_PATHS = "TRUE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1694 ] BOOST_ROOT = "E:/boost_1_74_0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1695 ] ENV{BOOST_ROOT} = "E:/boost_1_74_0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1696 ] BOOST_INCLUDEDIR = "E:/boost_1_74_0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1697 ] ENV{BOOST_INCLUDEDIR} = <unset>
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1698 ] BOOST_LIBRARYDIR = "E:/boost_1_74_0/stage/lib"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1699 ] ENV{BOOST_LIBRARYDIR} = "E:/boost_1_74_0/stage/lib"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1787 ] location of version.hpp: E:/boost_1_74_0/boost/version.hpp
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1827 ] Boost_VERSION = "1.74.0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1828 ] Boost_VERSION_STRING = "1.74.0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1829 ] Boost_VERSION_MACRO = "107400"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1830 ] Boost_VERSION_MAJOR = "1"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1831 ] Boost_VERSION_MINOR = "74"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1832 ] Boost_VERSION_PATCH = "0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1833 ] Boost_VERSION_COUNT = "3"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1857 ] Boost_LIB_PREFIX = "lib"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1858 ] Boost_NAMESPACE = "boost"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1880 ] _boost_COMPILER = "-clang11" (user-specified via Boost_COMPILER)
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1894 ] _boost_MULTITHREADED = "-mt"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1972 ] _boost_ARCHITECTURE_TAG = "-x64" (detected)
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1976 ] _boost_RELEASE_ABI_TAG = "-"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1977 ] _boost_DEBUG_ABI_TAG = "-d"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2037 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = "E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/../lib;E:/boost_1_74_0/stage/lib;NO_CMAKE_SYSTEM_PATH;NO_SYSTEM_ENVIRONMENT_PATH"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2038 ] _boost_LIBRARY_SEARCH_DIRS_DEBUG = "E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/../lib;E:/boost_1_74_0/stage/lib;NO_CMAKE_SYSTEM_PATH;NO_SYSTEM_ENVIRONMENT_PATH"
1> [CMake] CMake Warning at D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2185 (message):
1> [CMake] No header defined for data_time; skipping header check (note: header-only
1> [CMake] libraries have no designated component)
1> [CMake] Call Stack (most recent call first):
1> [CMake] BoostAsioReseller/CMakeLists.txt:22 (find_package)
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2223 ] Searching for DATA_TIME_LIBRARY_RELEASE: libboost_data_time-clang11-mt-x64-1_74;libboost_data_time-clang11-mt-x64;libboost_data_time-clang11-mt;libboost_data_time-mt-x64-1_74;libboost_data_time-mt-x64;libboost_data_time-mt;libboost_data_time-mt;libboost_data_time
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2278 ] Searching for DATA_TIME_LIBRARY_DEBUG: libboost_data_time-clang11-mt-d-x64-1_74;libboost_data_time-clang11-mt-d-x64;libboost_data_time-clang11-mt-d;libboost_data_time-mt-d-x64-1_74;libboost_data_time-mt-d-x64;libboost_data_time-mt-d;libboost_data_time-mt;libboost_data_time
1> [CMake] -- Could NOT find Boost (missing: data_time) (found version "1.74.0")
1> [CMake] CMake Error at BoostAsioReseller/CMakeLists.txt:25 (message):
1> [CMake] Boost Not found
1> [CMake]
1> [CMake]
1> [CMake] -- Configuring incomplete, errors occurred!
我的库在目录中
感谢 drescherjm and vre。
我设法 link 使用此代码进行了提升
此代码不通用,取决于您如何构建 boost。 BOOST_ROOT 之后的变量可能不同。
cmake_minimum_required (VERSION 3.19)
set(BOOST_ROOT "E:/boost_1_74_0/stage")
set(Boost_USE_STATIC_RUNTIME FALSE)
set(Boost_USE_STATIC_LIBS TRUE)
set(Boost_USE_MULTITHREADED TRUE)
set(THREAD_LIBRARY_DEBUG TRUE)
set(Boost_USE_DEBUG_RUNTIME FALSE)
set(Boost_COMPILER "-clang11")
find_package(Boost COMPONENTS system)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost Not found")
endif()
include_directories (${Boost_INCLUDE_DIR})
add_executable (main "src/main/main.cpp")
target_include_directories(main PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(main ${Boost_LIBRARIES})
我正在尝试使用 CMake 为我的项目添加 boost,但我收到“找不到 Boost”错误。 CMake 输出显示了正确的库名称和路径,但仍然找不到。
也许我的问题出在库的非标准路径上,但我希望能够将库放在对我来说方便的地方。
提升 1.74
Visual Studio 2019
CMake 3.19
我的CMakeList.txt
cmake_minimum_required (VERSION 3.19)
set(BOOST_ROOT "E:/boost_1_74_0")
set(ENV{BOOST_ROOT} "E:/boost_1_74_0")
set(Boost_DIR "E:/boost_1_74_0")
set(BOOST_LIBRARYDIR "E:/boost_1_74_0/stage/lib")
set(ENV{BOOST_LIBRARYDIR} "E:/boost_1_74_0/stage/lib")
set(BOOST_INCLUDEDIR "E:/boost_1_74_0")
set(Boost_NO_SYSTEM_PATHS TRUE)
set(Boost_USE_STATIC_RUNTIME FALSE)
set(Boost_USE_STATIC_LIBS TRUE)
set(Boost_USE_MULTITHREADED TRUE)
set(THREAD_LIBRARY_DEBUG TRUE)
set(Boost_USE_DEBUG_RUNTIME FALSE)
set(Boost_COMPILER "-clang11")
set(Boost_DEBUG 1)
find_package(Boost COMPONENTS data_time)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost Not found")
endif()
include_directories (${Boost_INCLUDE_DIR})
add_executable (main "src/main/main.cpp")
target_include_directories(main PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(main ${Boost_LIBRARIES})
CMake 输出
CMake generation started for configuration: 'x64-Clang-Release'.
Environment settings:
CXXFLAGS=-m64 -fdiagnostics-absolute-paths
CFLAGS=-m64 -fdiagnostics-absolute-paths
Command line: "cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "D:\VISUAL STUDIO\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe" -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:PATH="D:\PetProject\BoostAsioReseller\out\install\x64-Clang-Release" -DCMAKE_C_COMPILER:FILEPATH="D:/VISUAL STUDIO/VC/Tools/Llvm/x64/bin/clang-cl.exe" -DCMAKE_CXX_COMPILER:FILEPATH="D:/VISUAL STUDIO/VC/Tools/Llvm/x64/bin/clang-cl.exe" -DCMAKE_MAKE_PROGRAM="D:\VISUAL STUDIO\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\PetProject\BoostAsioReseller" 2>&1"
1> Working directory: D:\PetProject\BoostAsioReseller\out\build\x64-Clang-Release
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1657 ] _boost_TEST_VERSIONS = "1.75.0;1.75;1.74.0;1.74;1.73.0;1.73;1.72.0;1.72;1.71.0;1.71;1.70.0;1.70;1.69.0;1.69;1.68.0;1.68;1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65;1.64.0;1.64;1.63.0;1.63;1.62.0;1.62;1.61.0;1.61;1.60.0;1.60;1.59.0;1.59;1.58.0;1.58;1.57.0;1.57;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45;1.44.0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1658 ] Boost_USE_MULTITHREADED = "TRUE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1659 ] Boost_USE_STATIC_LIBS = "TRUE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1660 ] Boost_USE_STATIC_RUNTIME = "FALSE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1661 ] Boost_ADDITIONAL_VERSIONS = <unset>
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1662 ] Boost_NO_SYSTEM_PATHS = "TRUE"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1694 ] BOOST_ROOT = "E:/boost_1_74_0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1695 ] ENV{BOOST_ROOT} = "E:/boost_1_74_0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1696 ] BOOST_INCLUDEDIR = "E:/boost_1_74_0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1697 ] ENV{BOOST_INCLUDEDIR} = <unset>
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1698 ] BOOST_LIBRARYDIR = "E:/boost_1_74_0/stage/lib"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1699 ] ENV{BOOST_LIBRARYDIR} = "E:/boost_1_74_0/stage/lib"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1787 ] location of version.hpp: E:/boost_1_74_0/boost/version.hpp
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1827 ] Boost_VERSION = "1.74.0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1828 ] Boost_VERSION_STRING = "1.74.0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1829 ] Boost_VERSION_MACRO = "107400"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1830 ] Boost_VERSION_MAJOR = "1"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1831 ] Boost_VERSION_MINOR = "74"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1832 ] Boost_VERSION_PATCH = "0"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1833 ] Boost_VERSION_COUNT = "3"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1857 ] Boost_LIB_PREFIX = "lib"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1858 ] Boost_NAMESPACE = "boost"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1880 ] _boost_COMPILER = "-clang11" (user-specified via Boost_COMPILER)
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1894 ] _boost_MULTITHREADED = "-mt"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1972 ] _boost_ARCHITECTURE_TAG = "-x64" (detected)
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1976 ] _boost_RELEASE_ABI_TAG = "-"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:1977 ] _boost_DEBUG_ABI_TAG = "-d"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2037 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = "E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/../lib;E:/boost_1_74_0/stage/lib;NO_CMAKE_SYSTEM_PATH;NO_SYSTEM_ENVIRONMENT_PATH"
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2038 ] _boost_LIBRARY_SEARCH_DIRS_DEBUG = "E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/stage/lib;E:/boost_1_74_0/lib;E:/boost_1_74_0/../lib;E:/boost_1_74_0/stage/lib;NO_CMAKE_SYSTEM_PATH;NO_SYSTEM_ENVIRONMENT_PATH"
1> [CMake] CMake Warning at D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2185 (message):
1> [CMake] No header defined for data_time; skipping header check (note: header-only
1> [CMake] libraries have no designated component)
1> [CMake] Call Stack (most recent call first):
1> [CMake] BoostAsioReseller/CMakeLists.txt:22 (find_package)
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2223 ] Searching for DATA_TIME_LIBRARY_RELEASE: libboost_data_time-clang11-mt-x64-1_74;libboost_data_time-clang11-mt-x64;libboost_data_time-clang11-mt;libboost_data_time-mt-x64-1_74;libboost_data_time-mt-x64;libboost_data_time-mt;libboost_data_time-mt;libboost_data_time
1> [CMake] -- [ D:/Visual Studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.19/Modules/FindBoost.cmake:2278 ] Searching for DATA_TIME_LIBRARY_DEBUG: libboost_data_time-clang11-mt-d-x64-1_74;libboost_data_time-clang11-mt-d-x64;libboost_data_time-clang11-mt-d;libboost_data_time-mt-d-x64-1_74;libboost_data_time-mt-d-x64;libboost_data_time-mt-d;libboost_data_time-mt;libboost_data_time
1> [CMake] -- Could NOT find Boost (missing: data_time) (found version "1.74.0")
1> [CMake] CMake Error at BoostAsioReseller/CMakeLists.txt:25 (message):
1> [CMake] Boost Not found
1> [CMake]
1> [CMake]
1> [CMake] -- Configuring incomplete, errors occurred!
我的库在目录中
感谢 drescherjm and vre。
我设法 link 使用此代码进行了提升此代码不通用,取决于您如何构建 boost。 BOOST_ROOT 之后的变量可能不同。
cmake_minimum_required (VERSION 3.19)
set(BOOST_ROOT "E:/boost_1_74_0/stage")
set(Boost_USE_STATIC_RUNTIME FALSE)
set(Boost_USE_STATIC_LIBS TRUE)
set(Boost_USE_MULTITHREADED TRUE)
set(THREAD_LIBRARY_DEBUG TRUE)
set(Boost_USE_DEBUG_RUNTIME FALSE)
set(Boost_COMPILER "-clang11")
find_package(Boost COMPONENTS system)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost Not found")
endif()
include_directories (${Boost_INCLUDE_DIR})
add_executable (main "src/main/main.cpp")
target_include_directories(main PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(main ${Boost_LIBRARIES})