gpt4 book ai didi

c++ - 如何在自己的仅 header 库中包含升压 header

转载 作者:行者123 更新时间:2023-11-30 05:03:18 25 4
gpt4 key购买 nike

我正在使用 Jetbrains CLion 2017.3 和捆绑的 CMake 版本 3.9.6 以及 mingw64 5.0 版本/g++ 7.1。尽管阅读了“掌握 CMake”(我是 CMake 的新手!),但我在理解基础知识方面有很多困难。自 3 天以来,我一直在寻找 CMake 解决方案来创建自己的仅 header 库,该库使用 boost (1.66.0) 库。

使用我的 CMakeLists.txt 可以找到 boost 库,但我无法在当前源目录的头文件中包含 boost 头文件。

我当前的源目录包含“CMakeLists.txt”和头文件“test_boost.h”。如果我尝试在头文件“test_boost.h”中包含升压 header ,则无法找到升压 header !

我做错了什么?

我的 CMakeLists.txt :

cmake_minimum_required(VERSION 3.9)
project(headerOnlyLib1)

set(CMAKE_CXX_STANDARD 11)

set(ENV{BOOST_ROOT} "C:/dev/boost/mingw/boost_1_66_0/boost")
set(Boost_USE_STATIC_LIBS ON) # only find static libs
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(BOOST 1.66 REQUIRED)
IF (Boost_FOUND)
message(STATUS "BOOST FOUND !")
ELSE()
message(STATUS "BOOST NOT Found !")
endif()
add_library(headerOnlyLib INTERFACE)
target_include_directories(headerOnlyLib INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(headerOnlyLib INTERFACE ${Boost_INCLUDE_DIRS})
target_link_libraries(headerOnlyLib ${Boost_LIBRARIES})

最佳答案

简答:你不能

“仅 header 库”就是一个或多个 header ,。它不是相互关联或真正独立的东西。

如果您的仅 header 库具有依赖项,那么您的库的用户具有这些依赖项并且需要将它们包含在他们自己的构建中。

关于c++ - 如何在自己的仅 header 库中包含升压 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49473973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com