构建mpi2时出错 - 链接libboost_system时遇到问题

时间:2015-12-09 04:03:04

标签: c++ boost cmake mpi

我正在尝试构建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

我尝试过连接libboost_system.so,但我不确定如何使用cmake执行此操作(我尝试将-DCMAKE_CXX_FLAGS="-lboost_system"添加到cmake命令,但这没有效果。)

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

1 个答案:

答案 0 :(得分:0)

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

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