WinCE C文件中的语法错误

时间:2013-11-18 04:59:32

标签: visual-studio-2008 embedded windows-ce

我正在使用Visual Studio 2008。我正在研究AM335x WinCE7 BSP。我添加了一个新的库源代码,它涉及来自common文件夹的头文件。我面临的问题是,当我编译该库代码时,我在公共文件夹头文件中的类中遇到语法错误。在公共代码中不可能发生语法错误。所以,我怀疑其他一些问题可能会导致这种情况。 我收到了关于此事的警告,我认为这会导致错误。

warning C4218: nonstandard extension used : must specify at least a storage class or a type

我使用pragma来抑制警告。但是,虽然忽略了警告,但错误仍然存​​在。

请指导我,因为我对此一无所知。此外,如果需要任何其他信息,请发表评论。

EDIT1:

实际上代码很大。请参考this link。我面临着非常相似的问题。他们要求添加StdAfx.cpp和StdAfx.h文件。但它适用于VC ++。所以,我很困惑它是否也符合wince C文件。

EDIT2:

我收到以下错误。

error C2061: syntax error : identifier 'CReg'
error C2059: syntax error : ';'
error C2449: found '{' at file scope (missing function header?)
error C2059: syntax error : '}'
error C2143: syntax error : missing '{' before '*'
warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
warning C4218: nonstandard extension used : must specify at least a storage class or a type


class CSDIOControllerBase   -> C2061,C2059
{                           -> C2449
 // some code

};                          -> C2059

CSDIOControllerBase *CreateSDIOController();    -> C2143

1 个答案:

答案 0 :(得分:1)

您尝试编译为C的代码实际上是C ++,因此需要C ++编译。您不能直接在编译为C的代码中包含C ++标头。

如果您需要使用此标题提供的功能,则可能需要在任何情况下使用C ++。所以你自己的代码在任何情况下都需要是C ++。