gpt4 book ai didi

boost - 在Linux上使用Cmake进行 boost (ubuntu)

转载 作者:行者123 更新时间:2023-12-04 13:32:20 24 4
gpt4 key购买 nike

这是我的CMakeLists.txt文件:

add_definitions(-std=c++11)
find_package(Boost 1.55.0 COMPONENTS filesystem REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(bst main.cpp)
target_link_libraries(bst ${Boost_LIBRARIES})

当我在 cmake ..目录中执行 build时, cmake成功生成文件。

但是当我在 make目录中运行 build时,出现以下错误:
amin@aminux:~/Documents/boost_test/build$ make
Scanning dependencies of target bst
[100%] Building CXX object CMakeFiles/bst.dir/main.cpp.o
Linking CXX executable bst
/usr/bin/ld: CMakeFiles/bst.dir/main.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
//usr/lib/x86_64-linux-gnu/libboost_system.so.1.55.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [bst] Error 1
make[1]: *** [CMakeFiles/bst.dir/all] Error 2
make: *** [all] Error 2

在我的 main.cpp源文件中,我只是调用了 boost::filesystem::is_directory函数来测试 boost

最佳答案

您还应该在CMakeLists.txt文件中添加boost::system库组件

find_package(Boost 1.55.0 COMPONENTS filesystem system REQUIRED)

关于boost - 在Linux上使用Cmake进行 boost (ubuntu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22372601/

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