C++ 在Windows上使用OpenMPI增强mpi

C++ 在Windows上使用OpenMPI增强mpi,c++,boost,visual-studio-2013,mpi,openmpi,C++,Boost,Visual Studio 2013,Mpi,Openmpi,好的,我一直在尝试让boost::mpi和OpenMPI在Windows上使用Visual Studio 2013很好地配合使用。无论如何,我已经按照建议在mpi.jam中手动指定了路径,从而构建了boost::mpi 到目前为止还不错 我将生成的lib文件添加到我的库路径libboost_mpi-vc120-mt-1_55.lib等中,然后继续构建我的应用程序。这些lib文件被检测到并正确链接,但是存在来自boost mpi lib文件的链接错误。因此,我将所有OpenMPIx64库添加到我的

好的,我一直在尝试让boost::mpi和OpenMPI在Windows上使用Visual Studio 2013很好地配合使用。无论如何,我已经按照建议在mpi.jam中手动指定了路径,从而构建了boost::mpi

到目前为止还不错

我将生成的lib文件添加到我的库路径libboost_mpi-vc120-mt-1_55.lib等中,然后继续构建我的应用程序。这些lib文件被检测到并正确链接,但是存在来自boost mpi lib文件的链接错误。因此,我将所有OpenMPIx64库添加到我的链接器中,并得到相同的结果。当然,我很困惑

boost给我的一个链接错误是:

libboost\u mpi-vc120-mt-1\u 55.librequest.obj:错误LNK2001:未解析的外部符号ompi\u请求\u null

所以,把垃圾桶扔到营救现场

$dumpbin.exe-标题libmpi.lib>mpi.out

如您所见,libmpi.lib包含boost库找不到的符号,而且该库实际上是x64,与boost一样

我知道在unix上链接顺序很重要,所以我尝试在libmpi.lib之前手动链接libboost_mpi-vc120-mt-1_55.lib,但这并没有改变任何事情

我没有主意了。我通常不喜欢发布关于链接错误的帖子,但这篇文章似乎让我很失望

  Version      : 0
  Machine      : 8664 (x64)
  TimeDateStamp: 4F198AB4 Sat Jan 21 04:39:32 2012
  SizeOfData   : 0000001D
  DLL name     : libmpi.dll
  Symbol name  : ompi_request_null
  Type         : data
  Name type    : name
  Hint         : 1187
  Name         : ompi_request_null