意外#else
Unexpected #else
由于某种我无法解释的原因,编译器正在输出一个错误,指出它发现了一个意外的#else 标记。
这发生在文件的开头:
#if defined( _USING_MFC )
#include "stdafx.h"
#else
#include <windows.h>
#endif
在那段代码之前没有任何东西需要几个(单行)注释。
此错误发生在 .cpp 文件中。您在上面看到的是文件的开头。之前什么都没有。
我尝试在上面定义的代码之前添加以下代码,现在错误是意外的#endif
#if 1
#include "stdafx.h"
#endif
所以我怀疑包含的 stdafx.h 文件有问题,该文件包含以下代码:
#ifndef STDAFX_H_INCLUDED
#define STDAFX_H_INCLUDED
#include <Afx.h>
#include <Windows.h>
using namespace ATL;
#endif // STDAFX_H_INCLUDED
真的没什么特别的。我还包含了来自 stdafx.cpp 文件的这个 stdafx.h 文件,该文件仅包含 #include 语句,并且编译正确。
以下是项目预处理器定义:
_DEBUG
_WIN32_WCE=$(CEVER)
UNDER_CE
WINCE
DEBUG
_WINDOWS
$(ARCHFAM)
$(_ARCHFAM_)
_UNICODE
UNICODE
_TERMINAL_FALCONX3_CE6
_NO_CPP_EXCEPTIONS
_DONT_INCLUDE_WS_HEADERS
_USING_MFC
还有一些额外的信息:
使用 Visual Studio 2008.
为 Windows CE 6 编译
这是什么原因造成的?谢谢。
根据名称 stdafx
,我认为它是预编译的 header。
预编译器 header 必须是文件中的第一个包含(预处理器)指令,您不能在它之前放置任何内容(甚至 ifdef 也不行)。唯一的例外是一些注释行,因为它们无论如何都会被忽略。
根据您的示例,您应该将 #ifdef _USING_MFC
放入 stdafx.h
,并在其中包含 Afx.h
。
由于某种我无法解释的原因,编译器正在输出一个错误,指出它发现了一个意外的#else 标记。
这发生在文件的开头:
#if defined( _USING_MFC )
#include "stdafx.h"
#else
#include <windows.h>
#endif
在那段代码之前没有任何东西需要几个(单行)注释。
此错误发生在 .cpp 文件中。您在上面看到的是文件的开头。之前什么都没有。
我尝试在上面定义的代码之前添加以下代码,现在错误是意外的#endif
#if 1
#include "stdafx.h"
#endif
所以我怀疑包含的 stdafx.h 文件有问题,该文件包含以下代码:
#ifndef STDAFX_H_INCLUDED
#define STDAFX_H_INCLUDED
#include <Afx.h>
#include <Windows.h>
using namespace ATL;
#endif // STDAFX_H_INCLUDED
真的没什么特别的。我还包含了来自 stdafx.cpp 文件的这个 stdafx.h 文件,该文件仅包含 #include 语句,并且编译正确。
以下是项目预处理器定义:
_DEBUG
_WIN32_WCE=$(CEVER)
UNDER_CE
WINCE
DEBUG
_WINDOWS
$(ARCHFAM)
$(_ARCHFAM_)
_UNICODE
UNICODE
_TERMINAL_FALCONX3_CE6
_NO_CPP_EXCEPTIONS
_DONT_INCLUDE_WS_HEADERS
_USING_MFC
还有一些额外的信息: 使用 Visual Studio 2008.
为 Windows CE 6 编译这是什么原因造成的?谢谢。
根据名称 stdafx
,我认为它是预编译的 header。
预编译器 header 必须是文件中的第一个包含(预处理器)指令,您不能在它之前放置任何内容(甚至 ifdef 也不行)。唯一的例外是一些注释行,因为它们无论如何都会被忽略。
根据您的示例,您应该将 #ifdef _USING_MFC
放入 stdafx.h
,并在其中包含 Afx.h
。