【发布时间】:2021-02-02 20:51:45
【问题描述】:
我正在使用 Boost 库,但遇到了一些链接器问题。目前我的代码正在输出这个:
架构 x86_64 的未定义符号: “boost::program_options::to_internal(std::__1::basic_string
const&)”,引用自: std::__1::vector<:__1::basic_string std::__1::char_traits std::__1::allocator>, std::__1::allocator<:__1::basic_string std::__1::char_traits std::__1::allocator>> > boost::program_options::to_internal<:__1::basic_string std::__1::char_traits std:: __1::allocator> >(std::__1::vector<:__1::basic_string std::__1::char_traits std::__1::allocator>, std::__1::allocator > > const&) 在 train_model_main.cc.o “boost::program_options::variables_map::variables_map()”,引用自: _main in train_model_main.cc.o(列表继续)
在我的代码底部是这样写的:
ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
我正在尝试使用 Boost 中的 program_options 库,但链接步骤似乎失败了。以下是我在 CMake 文件中的链接方式:
find_package(Boost 1.73.0 COMPONENTS program_options REQUIRED)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(main ./apps/something.cc)
target_link_libraries( main program_options)
endif()
我相信我正确链接了库,那么可能导致此问题的原因是什么?
【问题讨论】:
标签: boost linker-errors clion boost-program-options