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
私が間違っていることについて何か考えはありますか?