生成mpi2时出错-链接libboost_system时出错

Error building mpi2 - trouble linking libboost_system

本文关键字:出错 system libboost mpi2 生成 链接      更新时间:2023-10-16

我正在尝试构建mpi2,但在生成过程中遇到以下错误:

/usr/bin/ld: CMakeFiles/env.dir/env.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/local/boost-1.56.0/lib/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

在运行make之前,我使用的cmake命令是:

cmake -DCMAKE_BUILD_TYPE=NativeRelease ../ -DBOOST_ROOT=/usr/local/boost-1.56.0/ -DBOOST_INCLUDEDIR=/usr/local/boost-1.56.0/include -DBOOST_LIBRARYDIR=/usr/local/boost-1.56.0/lib

我尝试过针对libboostrongystem.so进行链接,但我不确定如何使用cmake进行链接(我尝试过将-DCMAKE_CXX_FLAGS="-lboost_system"添加到cmake命令中,但没有效果)。

如何将其与cmake正确链接以解决此错误?

我认为问题可能是Boost.System没有在CMakeLists.txt.中列为需求

正在查看https://github.com/uma-pi1/mpi2/blob/master/CMakeLists.txt#L67,似乎应该在find_package(Boost ...)调用中的chrono之后立即添加system