gpt4 book ai didi

c - mpi 编译警告隐式声明

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:26 25 4
gpt4 key购买 nike

今天我在 mi mac 10.9 上安装了 mpi 和 home-brew mpicc 与 simlpe hello world 程序一起工作,但是如果我尝试这样的事情

#include <mpi.h>
#include <string.h>
#include <stdio.h>
#define max 1000

int main(int argv, char *argc[]){


int myrank,nProc,tag,j;
char buff [max];
MPI_Status status;
tag=0;
MPI_Init(&argv,&argc);
MPI_Comm_Rank(MPI_COMM_WORLD,&myrank);
MPI_Comm_Size(MPI_COMM_WORLD,&nProc);

if(myrank==0){
for(j =1 ; j<nProc;j++){
MPI_Recv(&buff,max,MPI_CHAR,j,tag,MPI_COMM_WORLD,&status);
printf("Il processo %d dice di chiamarsi %s\n",j,buff);
}

}
else{
switch (myrank){
case 1 :
MPI_Send("Franco",max,MPI_CHAR,j,tag,MPI_COMM_WORLD);
break;
case 2 :
MPI_Send("Mena",max,MPI_CHAR,j,tag,MPI_COMM_WORLD);
break;
case 3 :
MPI_Send("Nino",max,MPI_CHAR,j,tag,MPI_COMM_WORLD);
break;
}
}
printf("Ciao da %d \n",myrank);
MPI_Finalize();
return(0);
}

然后我尝试编译它的下一行:

mpicc -o filename filename.c

它给了我这个警告但没有构建。

nucciampi.c:15:3: warning: implicit declaration of function 'MPI_Comm_Rank' is
invalid in C99 [-Wimplicit-function-declaration]
MPI_Comm_Rank(MPI_COMM_WORLD,&myrank);
^
nucciampi.c:16:3: warning: implicit declaration of function 'MPI_Comm_Size' is
invalid in C99 [-Wimplicit-function-declaration]
MPI_Comm_Size(MPI_COMM_WORLD,&nProc);
^
2 warnings generated.
Undefined symbols for architecture x86_64:
"_MPI_Comm_Rank", referenced from:
_main in nucciampi-zsehoq.o
"_MPI_Comm_Size", referenced from:
_main in nucciampi-zsehoq.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

请帮我解决这个问题!!!

最佳答案

MPI_Comm_Rank -> MPI_Comm_rank

MPI_Comm_Size -> MPI_Comm_size

关于c - mpi 编译警告隐式声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com