gpt4 book ai didi

c++ - Visual C++ Express 2010 突然不接受#includes

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:22:02 26 4
gpt4 key购买 nike

我正在使用一个 API,该 API 已#define编辑了所有包含文件。我正在使用 Visual C++ 2010 Express 进行开发,到目前为止它一直运行良好。

我正在向项目添加一个新的 cpp 文件,不小心添加了一个“Windows 窗体”。 VC 警告我,我的项目目前没有使用 CLR,我真的想要吗?我单击否,并按预期添加了文件。然而,在那之后,我的项目不再编译。

代码基本上是这样的:

api_header.h:

#define DEFINED_HEADER_NAME "path/to/header/file.h"

stdhpf.h:

#include DEFINED_HEADER_NAME

正如我所说,很长一段时间都运行良好。现在我明白了:

error C2006: '#include' : expected a filename, found 'identifier'
fatal error C1083: Cannot open include file: '': No such file or directory

这是什么原因造成的?我发现一些帖子说这是因为打开了预编译头文件,但是我检查了项目属性>配置属性> C/C++/预编译头文件,它是关闭的(我提到了设置路径,因为我我是 VS 的新手,可能有不止一种方法可以做到这一点......)。

有什么想法吗?

最佳答案

几乎可以肯定的是,问题在于两条语句的预处理顺序,而不是与无意中添加 Windows 窗体对象有关。

This knowledge base article建议:

The problem is in using a defined constant to specify an include file in the #include directive. The directive is being processed before the macro is completely expanded, resulting in the error.

第二个错误似乎证实了这一点,因为它表明预处理器正在搜索一个空名的包含文件:

fatal error C1083: Cannot open include file: '': No such file or directory

关于c++ - Visual C++ Express 2010 突然不接受#includes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com