构建 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
之后立即添加。
我正在尝试构建 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
之后立即添加。