我正在尝试编写一个包装 MPI 的框架库。
我有一个框架调用的头文件afw.h
和一个名为afw.c
.
我希望能够通过在应用程序代码中编写使用该框架#include "afw.h"
的应用程序代码。
摘自afw.h
:
#ifndef AFW_H
#define AFW_H
#include <mpi.h>
struct ReqStruct
{
MPI_Request req;
};
ReqStruct RecvAsynch(float *recvbuf, FILE *fp);
int RecvTest(ReqStruct areq);
RecvAsynch
我提供了afw.c
一个实现#includes afw.h
当我使用mpicc
(在这种情况下使用 pgc 下面的 MPI 编译器包装器)进行编译时:
mpicc -c afw.c -o afw.o
我得到:
PGC-S-0040-Illegal use of symbol, ReqStruct (./afw.h: 69)
PGC-W-0156-Type not specified, 'int' assumed (./afw.h: 69)
PGC-S-0040-Illegal use of symbol, ReqStruct (./afw.h: 71)
PGC-W-0156-Type not specified, 'int' assumed (./afw.h: 71)
ReqStruct
以及在任何地方使用的类似错误afw.c
任何想法我做错了什么?