- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
in addition to the thread available under http://software.intel.com/en-us/forums/showthread.php?t=66299&p=1#144543, I have a problem linking MPICH2 and MKL with my Visual Studio 2008 project (Intel Fortran 11 compiler).
I link a number of libraries to my project - if I do that without /assume:underscore, I get a whole lot of linker errors about unresolved symbols, whose names all start with an underscore (but don't end with one).
error LNK2001: unresolved symbol "_MPI_Allreduce". mkl_blacs_mpich2.lib(dgsum2d_.oo)
If I use /assume:underscore, however, all the imported symbols are fine, but I get linker errors in the object file of my program. The unresolved symbols here start and end with an underscore.
error LNK2001: unresolved symbol "_MPI_NULL_COPY_FN_". test.obj
From what I understood there are two calling conventions here. Is there a way to fix this problem without using other libraries?
Martin
in addition to the thread available under http://software.intel.com/en-us/forums/showthread.php?t=66299&p=1#144543, I have a problem linking MPICH2 and MKL with my Visual Studio 2008 project (Intel Fortran 11 compiler).
I link a number of libraries to my project - if I do that without /assume:underscore, I get a whole lot of linker errors about unresolved symbols, whose names all start with an underscore (but don't end with one).
error LNK2001: unresolved symbol "_MPI_Allreduce". mkl_blacs_mpich2.lib(dgsum2d_.oo)
If I use /assume:underscore, however, all the imported symbols are fine, but I get linker errors in the object file of my program. The unresolved symbols here start and end with an underscore.
error LNK2001: unresolved symbol "_MPI_NULL_COPY_FN_". test.obj
From what I understood there are two calling conventions here. Is there a way to fix this problem without using other libraries?
Martin
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Martin,
Looks you have code compiled for different platforms.
If you compile your application for Intel64 architecture you need to link with mkl_blacs_mpich2_lp64.lib.
32-bit version of of the mkl_blacs_mpich2.lib contains names with underscore and that's OK.
BTW: mpich2 should be compiled for the same architecture.
Regards!
Dmitry
Looks you have code compiled for different platforms.
If you compile your application for Intel64 architecture you need to link with mkl_blacs_mpich2_lp64.lib.
32-bit version of of the mkl_blacs_mpich2.lib contains names with underscore and that's OK.
BTW: mpich2 should be compiled for the same architecture.
Regards!
Dmitry
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page