0

我有一个导入 C 类型 DLL 以供使用的 MFC 项目。当我的项目在 V 6.0 中时,此代码运行良好,但在将代码传输到 v2010 并向项目中添加一些 .NET 代码(使用 \clr)之后,我的代码部分开始抛出关于缺少“)”和“的编译器错误;"。我整个上午都在研究,但我无法提出解决方案。谁能帮帮我吗?

以下是引发编译器错误的代码行部分:

 #ifdef __cplusplus
  extern "C" __declspec(dllimport) void _stdcall KILLIT();
  extern "C" __declspec(dllimport) void _stdcall MAINDLL(char *PATH,int PATHLEN,char      *SUBDIR,int SUBDIRLEN, char *NAME,
int NAMELEN,char *HOMEDIR,int HOMEDIRLEN,char *ARCHDIR,int ARCHDIRLEN, int *FUN,int   *VERSION,int *BUS,int *PJMPV,
int *NFLAG,int *RETERROR);

#endif

这些是我得到的编译器错误:

DSAANA.cpp(32): error C2143: syntax error : missing ')' before 'constant'
>DSAANA.cpp(32): error C2143: syntax error : missing ';' before 'constant'
>DSAANA.cpp(34): error C2059: syntax error : ')'

我会很感激我能得到的任何帮助

谢谢罗比

4

1 回答 1

1

如果您在每行中添加行号会很有帮助,以便我们知道什么是什么。可能是与其中一个标题中的宏的名称冲突。对于您的函数声明,您可以删除变量名并只拥有变量类型。如果这样可以解决其中一个错误,请慢慢添加旧变量名,直到再次出现错误并且您会发现冲突。

于 2012-08-01T21:41:58.570 回答