Hej Antingen lägger du in headerfilerna i stdafx.h, en s.k. "Precompiled header", eller så tar du bort #include"stdafx.h", och allt som har med "Precompiled headers" att göra. Det enklaste är att starta ett nytt projekt och inte använda precompiled headers. (Undvik att använda det i egna små projekt, det är hyfsat ms-specifikt, och mest användbart om du har ganska stora projekt.) Eller låt bli att använda stdafx.h, eftersom det inte är en del av standarden, och en onödig komplikation för små projekt.Message Passing Interface
Håller på att lära mig Message Passing Interface (MPI). Det jag använder är DeinoMPI.
Jag vill testa ett enkelt "hello world" program till att börja med. Men inte ens det vill funka:
#include <mpi.h>
#include <iostream>
#include "stdafx.h"
using namespace std;
int
main(int argc, char *argv[])
{
int rank, size;
MPI::Init(argc, argv);
rank = MPI::COMM_WORLD.Get_rank();
size = MPI::COMM_WORLD.Get_size();
cout << "Hello world! I am " << rank << " of " << size << endl;
MPI::Finalize();
return 0;
}
Felmeddelandet jag får är:
------ Build started: Project: MPItest4, Configuration: Debug Win32 ------
Compiling...
MPItest4.cpp
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(12) : warning C4627: '#include <mpi.h>': skipped when looking for precompiled header use
Add directive to 'stdafx.h' or rebuild precompiled header
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(13) : warning C4627: '#include <iostream>': skipped when looking for precompiled header use
Add directive to 'stdafx.h' or rebuild precompiled header
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(17) : error C2871: 'std' : a namespace with this name does not exist
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(25) : error C2653: 'MPI' : is not a class or namespace name
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(25) : error C3861: 'Init': identifier not found
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(27) : error C2653: 'MPI' : is not a class or namespace name
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(27) : error C2065: 'COMM_WORLD' : undeclared identifier
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(27) : error C2228: left of '.Get_rank' must have class/struct/union
type is ''unknown-type''
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(28) : error C2653: 'MPI' : is not a class or namespace name
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(28) : error C2065: 'COMM_WORLD' : undeclared identifier
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(28) : error C2228: left of '.Get_size' must have class/struct/union
type is ''unknown-type''
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(30) : error C2065: 'cout' : undeclared identifier
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(30) : error C2065: 'endl' : undeclared identifier
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(32) : error C2653: 'MPI' : is not a class or namespace name
d:\fredrik\jobb\mpi\code\mpitest\mpitest4\mpitest4.cpp(32) : error C3861: 'Finalize': identifier not found
Build log was saved at "file://d:\Fredrik\jobb\MPI\code\MPItest\MPItest4\Debug\BuildLog.htm"
MPItest4 - 13 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Någon som vet vad jag skall göra?
Tack på förhand
FredrikSv: Message Passing Interface
Sv: Message Passing Interface