编译时出错c2061

时间:2009-07-02 13:10:09

标签: c++ compiler-construction

当我编译项目时,我收到此错误:

  

C:\ DATOSA~1 \ FAXENG~1> nmake / f   Makefile.vc clean

     

Microsoft(R)计划维护   实用程序版本9.00.21022.08   版权所有(C)Microsoft Corporation。   保留所有权利。

    cd src
    nmake /nologo /f Makefile.vc clean
    del /F *.obj *.lib *.dll *.exe *.res *.exp
    cd..
    cd tools
    nmake /nologo /f Makefile.vc clean
    del *.obj *.lib *.dll *.exe
    No se encuentra C:\DATOSA~1\FAXENG~1\tools\*.obj
    cd ..
     

C:\ DATOSA~1 \ FAXENG~1> nmake / f   Makefile.vc

     

Microsoft(R)计划维护   实用程序版本9.00.21022.08   版权所有(C)Microsoft Corporation。   保留所有权利。

    cd src
    nmake /nologo /f Makefile.vc
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ClassOne.cpp ClassOne.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ClassOnePointZero. ClassOnePointZero.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ClassTwo.cpp ClassTwo.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ClassTwoPointOne.c ClassTwoPointOne.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ClassTwoPointZero. ClassTwoPointZero.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ClassZero.cpp ClassZero.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c CommPort.cpp CommPort.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c ECMBuffer.cpp ECMBuffer.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c excepthandler.cpp excepthandler.cpp
    cl /nologo /MT /W3 /EHsc /O2 /I "..\..\tiff-3.8.2\libtiff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c FaxAPI.cpp FaxAPI.cpp
    FaxAPI.cpp(143) : error C2061: syntax error : identifier 'CClassZero'
    NMAKE : fatal error U1077: '"c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2' Stop.
    NMAKE : fatal error U1077: '"c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\BIN\nmake.EXE"' : return code '0x2' Stop.

我唯一做的就是将ClassTwoPointOne文件复制并粘贴到ClassZero文件中并更改名称......

ClassTwoPointOne.h:

#ifndef CLASSTWOPOINTONE_H
#define CLASSTWOPOINTONE_H

#include "ClassTwoPointZero.h"

class CClassTwoPointOne : public CClassTwoPointZero
{
public:
    CClassTwoPointOne();
    virtual ~CClassTwoPointOne();

    virtual void SetFClass(void);
};

#endif // CLASSTWOPOINTONE_H

ClassTwoPointOne.cpp:

#include "stdafx.h"
#include "ClassTwoPointOne.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CClassTwoPointOne::CClassTwoPointOne()
{
    m_sEIAClass = "2.1";
    m_nScanTime = 0;
}

CClassTwoPointOne::~CClassTwoPointOne()
{

}

void CClassTwoPointOne::SetFClass(void)
{
    SendCommand( COMMAND_SET_FCLASS_2_1);
}

ClassZero.h:

#ifndef CLASSZERO_H
#define CLASSZERO_H

#include "VoiceModem.h"

class CClassZero : public CVoiceModem
{
public:
    CClassZero();
    virtual ~CClassZero();
};

#endif // CLASSZERO_H

ClassZero.cpp:

#include "stdafx.h"
#include "ClassZero.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CClassZero::CClassZero()
{
}

CClassZero::~CClassZero()
{
}

我不明白什么是错的......任何人都可以帮忙吗?

非常感谢

2 个答案:

答案 0 :(得分:3)

  

FaxAPI.cpp(143):错误C2061:语法   错误:标识符'CClassZero'

错误位于或接近行号 143 ,位于文件 FaxAPI.cpp 中。 该错误与标识符 CClassZero

相关

(可能是未定义或被误用。可能是像缺少分号那样平凡的东西)。

如果您自己在FaxAPI.cpp中找不到错误,则需要向我们提供该文件的相关部分。

答案 1 :(得分:1)

msdn说c2061:“编译器找到了一个不符合标准的标识符。确保在使用之前声明了标识符。”很明显,在你弄乱文件之后,类CClassZero变得不公开,这使得你包含了适当的文件并且它们包含了类CClassZero的有效声明