我正在尝试使用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/