проблема компелирования mpi
Собственно, сам код:
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mpi.h"
main(int argc, char **argv)
{
char message[20];
char message2[30];
int i, rank, size, type = 99;
MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
if (rank == 0)
{
strcpy(message, "Hello, world!");
for (i = 1; i < size; i++)
MPI_Send(message, 14, MPI_CHAR, i, type, MPI_COMM_WORLD);
for (i = 1; i < size; i++)
{
MPI_Recv(message2, 30, MPI_CHAR, i, type, MPI_COMM_WORLD, &status);
printf( "Message from process = %d : %.30s\n", i,message2);
}
}
else
{
MPI_Recv(message, 20, MPI_CHAR, 0, type, MPI_COMM_WORLD, &status);
sprintf(message2,"%s from %d",message,rank);
MPI_Send(message2, 30, MPI_CHAR, 0, type, MPI_COMM_WORLD);
}
MPI_Finalize();
return 0;
}
При компеллировании выдает такую ошибку:
c:\documents and settings\victor\мои документы\visual studio 2010\projects\arthas\arthas\stdafx.cpp(7): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Не поможите сказать, что же именно не так?
Код:
[COLOR="Red"]int[/COLOR] main(int argc, char **argv)...
1>c:\documents and settings\victor\мои документы\visual studio 2010\projects\arthas\arthas\stdafx.cpp(19): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\string.h(105): см. объявление "strcpy"
1>c:\documents and settings\victor\мои документы\visual studio 2010\projects\arthas\arthas\stdafx.cpp(31): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371): см. объявление "sprintf"
1>c:\documents and settings\victor\мои документы\visual studio 2010\projects\arthas\arthas\stdafx.cpp(38): error C2857: оператор "#include", указанный с параметром командной строки /YcStdAfx.h, не найден в исходном файле
что ваш код делает в stdafx.cpp??? вы первый раз работаете со студией 2010? откуда вы вообще взяли этот код и зачем?
Сейчас создал проект, но он активно ругается на отсутствие библиотек, ищу как их подключить. Где путь к библиотекам прописать - нашел, а где прописать - какие именно библиотеки - пока нет.
Теперь ругается:
Код:
error LNK2019: unresolved external symbol _WinMain@16 referenced in function __tmainCRTStartup
И справа от этого:
Код:
MSVCRT.lib
Для оконного проекта (не консоль) дефолтные настройки VC предполагали имя основной функции WinMain().