小编Yev*_*tov的帖子

尝试将 boost::stacktrace 添加到 CMake 项目时构建错误

我正在尝试boost::stacktrace通过 CMake将库添加到我的项目中。CMake 很好地找到了所有必需的库,但是当我调用boost::stacktrace::stacktrace()将堆栈信息打印到其中时std::cout- 它给了我以下错误:

undefined reference to 'dladdr'
Run Code Online (Sandbox Code Playgroud)

我已经尝试将-ldlcompile 标志添加到CMAKE_CXX_FLAGScompile 标志中,看看它是否有帮助,但它不起作用。我知道我错过了一些必需的软件包,但我不知道是哪个。也许你可以给我建议。

  • Gcc 版本 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04)
  • 增强版 1.68.0

这是一些代码:

CMakeLists.txt

#-------------------------------------------------------------------#
# cmake version & project name

cmake_minimum_required(VERSION 3.10)
project(stack_trace_exmpl)

#-------------------------------------------------------------------#
# project flags config

set(CMAKE_CXX_STANDARD      17)
set(CMAKE_C_STANDARD        11)

set(CMAKE_CXX_FLAGS_DEBUG   "${CMAKE_CXX_FLAGS_DEBUG} -g3 -pthread")
set(CMAKE_C_FLAGS_DEBUG     "-g3")
set(CMAKE_CXX_FLAGS         "${CMAKE_CXX_FLAGS} -Wall -pthread -ldl")
set(CMAKE_C_FLAGS           "-Wall")

set(BOOST_ROOT              "/opt/Boost_1_68_0/")

#-------------------------------------------------------------------#
# find Boost libs

set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)

find_package(
    Boost 1.68.0
    COMPONENTS REQUIRED …
Run Code Online (Sandbox Code Playgroud)

c++ linux boost cmake

2
推荐指数
1
解决办法
1374
查看次数

标签 统计

boost ×1

c++ ×1

cmake ×1

linux ×1