我正在尝试使用Boost MPI运行程序,但问题是我没有.lib。因此,我尝试按照http://www.boost.org/doc/libs/1_43_0/doc/html/mpi/getting_started.html#mpi.config上的说明创建一个

该说明说:“对于使用LAM/MPI,MPICH或OpenMPI的许多用户而言,配置几乎是自动的”,我将自己的OpenMPI放在了C:\中,但我对此没有做任何其他事情。我们需要做任何事情吗?我还在程序文件中找到了MPICH2,也没有做任何其他事情。在指示的这一点上,我不确定我们到底要做什么。

除此之外,指令中的另一条语句:“如果您的主目录中没有user-config.jam文件,请在此处复制tools/build/v2/user-config.jam。”好吧,我只是按照它说的去做。我在C:\boost_1_43_0>中获得了“user-config.jam”以及“using mpi”。到文件中。

接下来,这就是我所做的:bjam --with-mpi

C:\boost_1_43_0>bjam --with-mpi
WARNING: No python installation configured and autoconfiguration
         failed.  See http://www.boost.org/libs/python/doc/building.html
         for configuration instructions or pass --without-python to
         suppress this message and silently skip all Boost.Python targets

Building the Boost C++ Libraries.


warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
warning: Unable to construct ./stage-unversioned
warning: Unable to construct ./stage-unversioned

Component configuration:

    - date_time                : not building
    - filesystem               : not building
    - graph                    : not building
    - graph_parallel           : not building
    - iostreams                : not building
    - math                     : not building
    - mpi                      : building
    - program_options          : not building
    - python                   : not building
    - random                   : not building
    - regex                    : not building
    - serialization            : not building
    - signals                  : not building
    - system                   : not building
    - test                     : not building
    - thread                   : not building
    - wave                     : not building

...found 1 target...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\boost_1_43_0

The following directory should be added to linker library paths:

    C:\boost_1_43_0\stage\lib


C:\boost_1_43_0>

我看到C:\boost_1_43_0\stage\lib中有很多库,但是我完全看不到libboost_mpi-vc100-mt-1_43.lib或libboost_mpi-vc100-mt-gd-1_43.lib的痕迹。这些是在mpi应用程序中进行链接所需的库。

不构建库时,可能会出什么问题?

最佳答案

我怀疑它只是不读取您的user-config.jam ...当内部版本引用并搜索user-config.jam时,它在%HOME%位置中这样做。不在Boost源的根目录中,也不在当前目录中。但是您可以使它使用特定的user-config.jam文件,并带有一个选项:bjam --user-config=user-config.jam ...。它将仅在当前目录中查找它。或者,您也可以指定文件的完整路径。您应该阅读mpi.jam工具文件(mpi.jam)中的注释,因为它解释了在什么条件下它将自动设置mpi工具。特别是关于在路径中包含mpic++的注释。

关于boost - 尝试构建Boost MPI,但未创建lib文件。这是怎么回事?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2892582/

10-10 15:02