我是一个有用的助手,可以将文本翻译成中文。
我正在尝试构建一个使用Boost库的C++可执行文件,并使用CMake进行构建。
CMake代码片段:
我为什么会收到这个错误信息,如何才能修复它?
我正在尝试构建一个使用Boost库的C++可执行文件,并使用CMake进行构建。
CMake代码片段:
find_package(Boost REQUIRED system)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(main src/cpp/main.cpp)
target_link_libraries(main ${BOOST_LIBRARIES})
遇到以下 CMake 构建错误消息:
Undefined symbols for architecture x86_64:
"boost::system::system_category()", referenced from:
...
我为什么会收到这个错误信息,如何才能修复它?
Boost::system
表示该库及其所有依赖项都将被自动添加。 - rocambillefind_package(Boost REQUIRED system random)
; 那么我是否需要像这样添加多个项目才能使用您的解决方案?target_link_libraries(main Boost::system Boost::random)
- seeekrfind_package
中列出的项目重复。对于较小的项目,这将让您明确地查看项目,而无需搜索您在find_package
中指定的内容,或者让您拥有具有不同Boost依赖项的多个目标。 - rocambille