Error del vinculador con Microsoft HPC Pack 2008 SDK

Traté de escribir un programa usando OpenMP y MPI en Windows 7 x64. Encontré tutorial, cómo instalar MPI en VS2010

http://msdn.microsoft.com/en-gb/library/ee441265.aspx#BKMK_debug1

Pero, cuando intento compilar la solución, obtengo errores del enlazador:

1>main.obj : error LNK2019: unresolved external symbol _MPI_Finalize@0 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Barrier@4 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Recv@28 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Ssend@24 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Comm_size@8 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Comm_rank@8 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Init@8 referenced in function _main

¿Puede ser que tenga que instalar algo más? ¿Puede ser HPC Pack 2008 R2 Service Pack 2?

preguntado el 22 de mayo de 12 a las 15:05

1 Respuestas

Asegúrese de consultar el paso 3 ("Especificar propiedades adicionales para el proyecto") en la sección "Crear un proyecto de muestra de C++ MPI en Visual Studio 2010" en el vínculo que proporcionó

El error le informa que el enlazador no puede encontrar las bibliotecas que contienen las definiciones de los diversos MPI* funciones. Los ajustes del enlazador (Directorios de bibliotecas (3c) y Enlazador->Entrada (3d)) son los que especifican para el enlazador qué bibliotecas usar y dónde encontrarlas.

contestado el 22 de mayo de 12 a las 15:05

Tengo las mismas rutas en mi computadora. No es un problema, puede ser, ¿estas bibliotecas contienen en otro lugar? - Yo soy hombre

Tienes msmpi.lib en la configuración Vinculador/Entrada/Dependencias adicionales? En caso afirmativo, ¿tiene ese archivo en el directorio "C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\i386"? - Attila

Sí, pero uso C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\amd64. Con i386 todo funciona correctamente - Yo soy hombre

Creo que su proyecto está configurado para ser una aplicación de 32 bits (por eso funciona para i386. La msmpi.lib en la amd64 La carpeta es para aplicaciones de 64 bits. Siga las instrucciones en esta página para configurar su proyecto para plataformas de 64 bits - Attila

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.