編譯

2009-07-02 75 views
0

時候當我編譯一個項目,我得到這個錯誤錯誤C2061:編譯

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

Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved.

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) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved.

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() 
{ 
} 

我不明白什麼是錯......任何人都可以幫助嗎?

非常感謝

+0

你得到錯誤的哪一行,以及錯誤的描述是什麼? – Andy 2009-07-02 13:17:57

+0

您必須在143行左右向我們顯示FaxAPI.cpp。 – avakar 2009-07-02 13:19:40

回答

3

FaxAPI.cpp(143) : error C2061: syntax error : identifier 'CClassZero'

的錯誤是在或接近行數,在文件FaxAPI.cpp。 該錯誤是與該標識符相關CClassZero

(可能是未定義的,或誤用。可能很平常,比如缺少分號)。

如果您自己在FaxAPI.cpp中找不到錯誤,則需要向我們提供該文件的相關部分。

1

msdn說c2061:「編譯器發現一個標識符,它不是預期的,確保標識符在使用之前已經聲明。」因此,顯然CClassZero課在你弄亂文件之後變得沒有聲明,確保你包含合適的文件,並且它們包含一個有效的類聲明CClassZero