When I use 1.4.2rc1 I am able build in Visual Studio 2005 (CMake 2.6.4 default settings VS2005 x64)but I get the following warning (among others):
11>..\..\..\..\..\ompi\mpi\cxx\intercepts.cc(81) : warning C4273: 'MPI::InitializeIntercepts' : inconsistent dll linkage
11> E:\source\openmpi-1.4.1\ompi/mpi/cxx/functions.h(64) : see previous definition of 'InitializeIntercepts'
When I convert the Visual Studio projects to use the Intel 10.1 compiler (required for our production environment) this warning becomes an error:
11>E:\source\openmpi-1.4.2rc1\ompi\mpi\cxx\intercepts.cc(80): error: a function declared "dllimport" may not be defined
This issue seems related to http://www.open-mpi.org/community/lists/users/2010/03/12392.php.
It appears to me that you are trying to use a single symbol to import from the c module and export from cxx module at the same time.
Any help would be appreciated,