3

我有一个 (com) c++ 项目,它使用 (.net) c++ dll。该项目正在编译并运行正常。

现在,我所做的只是对 dll 进行更改,并且在重新编译我的(com)项目时,我收到了一个致命错误 c1083-无法打开包含文件 stdafx.h。

这意味着什么?

4

2 回答 2

1

查找您的 stdafx.h。以下是可能性:

  1. 如果它没有丢失,请尝试重新启动您的机器。您还可以使用 sysinternals 的 handle.exe 找出谁持有该文件。
  2. 如果缺少,请创建它。
  3. 另一方面,您的项目可能最初没有使用预编译的头文件,并且该选项被错误地打开。因此,请关闭项目属性中的预编译头选项。
于 2010-02-11T15:30:58.867 回答
0

如果您的 include 语句使用尖括号:

#include <stdafx.h>

...尝试将其更改为使用引号:

#include "stdafx.h"

两者不同的。当您使用引号时,您告诉编译器“好的,首先搜索本地目录,然后转到搜索路径。” 但是当您使用尖括号时,您会告诉编译器“不要在本地目录中查找,只需搜索搜索路径。” 在 stdafx.h 的情况下,您需要作为项目一部分的那个,因此您需要首先搜索本地目录。

这让我很恼火,但这是另一个节目的故事......

于 2010-02-11T18:07:51.907 回答