无法在主要外部访问 Lib boost

Lib boost not being accessible outside main

我正尝试在我的项目中使用 Boost,但它只能在 main.cpp 内部访问。如果我尝试将它包含在另一个文件中,则会出现错误。我不知道它是否必须在 CMakeLists.txt.

中指定
# CMakeLists.txt
...

include (cmake/CPM.cmake)

CPMAddPackage(
  NAME PackageProject.cmake
  GITHUB_REPOSITORY TheLartians/PackageProject.cmake
  VERSION 1.4
)

# ------------------------------   Boost    ----------------------------------
CPMAddPackage("gh:Orphis/boost-cmake#7f97a08b64bd5d2e53e932ddf80c40544cf45edf@1.71.0")
# -----------------------------------------------------------------------------

...

# Core
add_library(
  ProjectCore
  include/ProjectCore.hpp
  src/ProjectCore.cpp
  )

# Utils
add_library(
  Utils
  include/utils.hpp
  src/utils.cpp
  )

...

target_include_directories(ProjectCore PUBLIC include/)
target_include_directories(Utils PUBLIC include/)

add_executable(Project src/main.cpp)
target_link_libraries(Project
  PUBLIC Boost::system
  PRIVATE ProjectCore
  PRIVATE Utils
  )
# -----------------------------------------------------------------------------
set_target_properties(Project PROPERTIES CXX_STANDARD 17)

我继续执行以下命令:

core$ md build && cd build && cmake ..
core$ bear -- make -C build
core$ ./build/Project

正在尝试在 main.cpp

上增加提升

正在尝试在 utils.cpp 上增加提升

正如 Tsyvarev 在主要消息线程中指出的那样,我忘记 link 提升我想使用的其他库。通过添加以下行

,我最终能够 运行
target_link_libraries(Utils PRIVATE Boost::system)