我想寫一個包裝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);
我在afw.c
(在這種情況下的MPI編譯包裝器使用PGC的下面)提供了RecvAsynch
一個實現其#includes afw.h
當我編譯使用mpicc
:
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
任何想法,我做錯了使用?
+1打我一毫秒 – Anonymous 2012-04-04 14:40:01
是的,當然,謝謝你。我以爲在寫作之前我已經打了折扣,但顯然不是! – 2012-04-04 14:46:53