首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cmake:链接软件以增强::mpi(使用mpich2)

cmake:链接软件以增强::mpi(使用mpich2)
EN

Stack Overflow用户
提问于 2011-11-21 20:32:47
回答 1查看 2.4K关注 0票数 2

对于这个简单的代码(摘自boost-mpi文档):

代码语言:javascript
复制
#include <boost/serialization/string.hpp>
#include <iostream>
#include <string>
#include <boost/mpi.hpp>

namespace mpi = boost::mpi;

int main(int argc, char *argv[])
{
    mpi::environment env(argc, argv);
    mpi::communicator world;

    if (world.rank() == 0) {
      world.send(1, 0, std::string("Hello"));
      std::string msg;
      world.recv(1, 1, msg);
      std::cout << msg << "!" << std::endl;
    } else if (world.rank() == 1) {
      std::string msg;
      world.recv(0, 0, msg);
      std::cout << msg << ", ";
      std::cout.flush();
      world.send(0, 1, std::string("world"));
    };

  return 0;
};

对于这样的CMakeLists.txt:

代码语言:javascript
复制
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(mpi-tests CXX)
FIND_PACKAGE(Boost 1.4 COMPONENTS mpi serialization REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(test ${Boost_LIBRARIES})

它找不到boost_mpi:

代码语言:javascript
复制
CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1135 (message):
  Unable to find the requested Boost libraries.
  Boost version: 1.47.0
  Boost include path: /usr/include
  The following Boost libraries could not be found:
          boost_mpi

但!我安装了下一个软件包:

代码语言:javascript
复制
boost-graph-mpich2
boost-mpich2
boost-mpich2-devel
boost-mpich2-python
mpich2
mpich2-devel

为什么找不到?在互联网上有很多例子,人们使用FIND_PACKAGE(Boost 1.4 COMPONENTS mpi必需的)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-22 15:30:11

Boost可能不会安装在模块FindBoost搜索的位置。可以通过将变量BOOST_ROOT设置为Boost安装前缀来指定安装Boost的前缀。

在您的代码中,我要补充如下:

代码语言:javascript
复制
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(mpi-tests CXX)
set( BOOST_ROOT "/path/to/boost/install/prefix" )
FIND_PACKAGE(Boost 1.4 COMPONENTS mpi serialization REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(test ${Boost_LIBRARIES})
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8218168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档