Error del vinculador con Microsoft HPC Pack 2008 SDK
Frecuentes
Visto 2,252 veces
1
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?
1 Respuestas
1
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
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c++ visual-studio-2010 mpi or haz tu propia pregunta.
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"? - AttilaSí, 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
. Lamsmpi.lib
en laamd64
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