尝试构建Boost MPI,但不创建lib文件.这是怎么回事?

Kar*_*arl 8 boost build configure boost-mpi

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

指令说"对于许多使用LAM/MPI,MPICH或OpenMPI的用户来说,配置几乎是自动的",我在C:\中得到了自己的OpenMPI,但我没有做更多的事情.我们需要做任何事情吗?我在程序文件中也得到了自己的MPICH2,并且没有做任何更多的事情.在这一点上,我非常不确定我们必须做什么.

除此之外,该指令的另一个声明:"如果您的主目录中还没有文件user-config.jam,请在那里复制tools/build/v2/user-config.jam." 好吧,我只是按照它说的做.我在C:\ boost_1_43_0>中获得了"user-config.jam"以及"使用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>
Run Code Online (Sandbox Code Playgroud)

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

没有构建库时可能出现什么问题?

Gra*_*bot 14

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