Hi,

It seems Microsoft C++ compiler could recognize what the code wants to do, while Intel C++ compiler couldn't. I know a solution for this kind of problem, but it involves some code base changes, I need some time to test it. At moment, if you want to use Intel C++ compiler, the dirty solution is just changing "OMPI_DECLSPEC" in ompi/mpi/cxx/functions.h to "__declspec(dllexport)". Or you could switch to use Microsoft compiler only for this libmpi_cxx project.


Thanks,
Shiqing




On 2010-4-15 9:52 AM, ben.kupp...@shell.com wrote:

Hello,

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

11>  MPI::InitializeIntercepts()

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,

Ben


_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


--
--------------------------------------------------------------
Shiqing Fan                          http://www.hlrs.de/people/fan
High Performance Computing           Tel.: +49 711 685 87234
  Center Stuttgart (HLRS)            Fax.: +49 711 685 65832
Address:Allmandring 30               email: f...@hlrs.de
70569 Stuttgart

Reply via email to