Я установил Code :: Blocks и MPICH2 и CONFIG мой Code :: Blocks, как показано ниже:Code :: Blocks и MPI
- Каталоги поиска (составитель): C: \ Program Files \ MPICH2 \ включают
- каталоги (Linker): C: \ Program Files \ MPICH2 \ Lib
- настройки компоновщика mpi.lib
мой компилятор всегда (из-за потока) имеют -std = C++ 0x вариант! также я добавил bin dir MPICH2 на свой путь. и моя ОС выиграла 7 x64. , но в то время как я пытаюсь скомпилировать простую программу привет мир я получил эту ошибку:
C:\Users\1111\Desktop\CPP Project\MPI\First_MPI\main.cpp|9|undefined reference to `MPI_Init'|
C:\Users\1111\Desktop\CPP Project\MPI\First_MPI\main.cpp|10|undefined reference to `MPI_Comm_rank'|
C:\Users\1111\Desktop\CPP Project\MPI\First_MPI\main.cpp|11|undefined reference to `MPI_Comm_size'|
C:\Users\1111\Desktop\CPP Project\MPI\First_MPI\main.cpp|13|undefined reference to `MPI_Finalize'|
||=== Build failed: 4 error(s), 36 warning(s) (0 minute(s), 1 second(s)) ===|
and finally this is my code!
также мой код:
#include <iostream>
#include "mpi.h"
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
int my_rank;
int my_size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
MPI_Comm_size(MPI_COMM_WORLD, &my_size);
cout<< "I'm rank (processor number) " << my_rank << " of " << my_size << "processor";
MPI_Finalize();
return 0;
}
, как я могу это исправить?
Убедитесь, что MPICH2 и ваш проект с такой же «битностью», то есть оба являются 32-разрядными или оба являются 64-разрядными. Кроме того, загляните в каталог 'C: \ Program Files \ MPICH2 \ lib' и убедитесь, что библиотека не вызывается, например. 'Mpich.lib'. –