我的C ++应用是使用cmake构建的。它使用动态链接的提升日志(以及其他提升库)。事实是,它可以在Debian 10上编译(因此我认为我的应用程序和CMakeLists.txt可以,例如,它具有BOOST_LOG_DYN_LINK定义),但是不能在Ubuntu 18.04 / 20.04上编译。我收到很多这样的消息:
undefined reference to boost::log::v2_mt_posix::trivial::logger::get()
在两个系统中,我都使用以下命令安装了Boost:
sudo apt install libboost-all-dev
Ubuntu 18.04使用gcc 7.5,Ubuntu 20.04使用gcc 9.5,Debian使用gcc 8.3。我试过在Ubuntu上使用gcc-8(实际上是8.4),但是结果是一样的。这两个系统之间还有什么不同之处,从而可以在Debian而非Ubuntu上编译我的应用程序?