|
Boost-MPI : |
Subject: [Boost-mpi] Working with Boost MPI And OpenMPI in Windows
From: Yehuda Landau (didist_at_[hidden])
Date: 2013-10-09 10:10:29
Hi
I have read that boost::mpi package is has many advantages and want to use
it in for development in Visual Studio 2010/12 environment
I downloaded OpenMPI version 1.62 which is the last version supporting
binaries for windows and added the Bin directory to my PATH
I downloaded the Boost Library
I found out how to change the user-jam (using mvsc; using mpi;) and mpi-jam
( local cluster_pack_path_native =
"C:\\Workspace\\Lib\\OpenMPI_v1.6.2-x64") files in order to compile the mpi
library
I managed to Build the MPI and SERIALIZATION libraries
HOWEVER
I am using visual studio 2012
I added the libs and includes for the openmpi
So I MANAGE to compile normal MPI programs and run it using mpiexec I add
the libs
libmpi.lib
libmpi_cxx.lib
libopen-pal.lib
libopen-rte.lib
and Define
OMPI_IMPORTS=1
OPAL_IMPORTS=1
ORTE_IMPORTS=1
BUT when I try to compile boost::mpi simplest program
#include <boost/mpi/environment.hpp>
#include <boost/mpi/communicator.hpp>
#include <iostream>
int main( int argc, char *argv[] )
{
boost::mpi::environment env(argc, argv);
boost::mpi::communicator world;
std::cout << "I am process " << world.rank() << " of " << world.size() <<
"." << std::endl;
return 0;
}
I get the following unresolved external symbol though when inspecting the
libmpi.lib I SEE Those METHODS (when using DUMPBIN /SYMBOLS)
How can I solve that?
Maybe I have to recompile the boost::mpi lib differently with some
defines???
Please Help me find a solution
Best
Didi
The linkage errors output:
libboost_mpi-vc110-mt-gd-1_54.lib(environment.obj) : error LNK2001:
unresolved external symbol ompi_mpi_comm_world
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2019:
unresolved external symbol ompi_mpi_comm_world referenced in function
"public: char & __cdecl std::vector<char,class boost::mpi::allocator<char>
>::operator[](unsigned __int64)" (??A?$vector_at_DV?$allocator_at_D@mpi_at_boost
@@@std@@QEAAAEAD_K_at_Z)
1>libboost_mpi-vc110-mt-gd-1_54.lib(environment.obj) : error LNK2001:
unresolved external symbol ompi_mpi_errors_return
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2019:
unresolved external symbol ompi_mpi_errors_return referenced in function
"protected: unsigned __int64 __cdecl std::vector<char,class
boost::mpi::allocator<char> >::_Grow_to(unsigned __int64)const " (?_Grow_to@
?$vector_at_DV?$allocator_at_D@mpi_at_boost@@@std@@IEBA_K_K_at_Z)
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2001:
unresolved external symbol ompi_mpi_comm_null
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2001:
unresolved external symbol ompi_mpi_group_empty
1>libboost_mpi-vc110-mt-gd-1_54.lib(group.obj) : error LNK2001: unresolved
external symbol ompi_mpi_group_empty
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2001:
unresolved external symbol ompi_request_null
1>libboost_mpi-vc110-mt-gd-1_54.lib(request.obj) : error LNK2001:
unresolved external symbol ompi_request_null
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2001:
unresolved external symbol ompi_mpi_unsigned_long_long
1>libboost_mpi-vc110-mt-gd-1_54.lib(point_to_point.obj) : error LNK2001:
unresolved external symbol ompi_mpi_unsigned_long_long
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2001:
unresolved external symbol ompi_mpi_packed
1>libboost_mpi-vc110-mt-gd-1_54.lib(point_to_point.obj) : error LNK2001:
unresolved external symbol ompi_mpi_packed
1>libboost_mpi-vc110-mt-gd-1_54.lib(communicator.obj) : error LNK2001:
unresolved external symbol ompi_mpi_info_null
1>libboost_mpi-vc110-mt-gd-1_54.lib(point_to_point.obj) : error LNK2001:
unresolved external symbol ompi_mpi_info_null
1>libboost_mpi-vc110-mt-gd-1_54.lib(mpi_datatype_cache.obj) : error
LNK2001: unresolved external symbol ompi_mpi_datatype_null
1>C:\Workspace\Whale\x64\Debug\SimpleClusterJobDispatcher.exe : fatal error
LNK1120: 9 unresolved externals
Boost-Commit list run by troyer at boostpro.com