当我编译项目时,我收到此错误:
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()
{
}
我不明白什么是错的......任何人都可以帮忙吗?
非常感谢
答案 0 :(得分:3)
FaxAPI.cpp(143):错误C2061:语法 错误:标识符'CClassZero'
错误位于或接近行号 143 ,位于文件 FaxAPI.cpp 中。 该错误与标识符 CClassZero
相关(可能是未定义或被误用。可能是像缺少分号那样平凡的东西)。
如果您自己在FaxAPI.cpp中找不到错误,则需要向我们提供该文件的相关部分。
答案 1 :(得分:1)
msdn说c2061:“编译器找到了一个不符合标准的标识符。确保在使用之前声明了标识符。”很明显,在你弄乱文件之后,类CClassZero变得不公开,这使得你包含了适当的文件并且它们包含了类CClassZero的有效声明