构建 mpi2 时出错 - 无法链接 libboost_system

Error building mpi2 - trouble linking libboost_system

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

/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

我已经尝试 linking 反对 libboost_system.so,但我不确定如何使用 cmake 执行此操作(我尝试将 -DCMAKE_CXX_FLAGS="-lboost_system" 添加到 cmake 命令,但这没有影响)。

如何使用 cmake 正确 link 解决此错误?

我认为问题可能在于 Boost.System 未列为 CMakeLists.txt 中的要求。

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