所以我一直在努力学习cpp,我正在写一个程序,当我试图构建解决方案时,它给出了一个错误消息查找预编译头时出现意外的文件结尾。是否忘记在源代码中添加#include“pch. h”?然后我把它加进去,我得到了同样的错误,还有另一个说法无法打开源文件pch. h
o2g1uqev1#
如果你是c++的新手,一个选择就是在项目设置中关闭预编译头。
sy5wg1nm2#
它必须是第一个包含项,不能将其放在其他包含项下。
yfjy0ee73#
您的**.cpp文件可能与pch.h**不在同一目录中
enxuqcxy4#
尝试将pch. h所在的目录添加到附加包含中,即使它位于项目的根目录下。
uinbv5nw5#
快速解决一个令人沮丧的问题时,试图添加.pch到现有的项目:如果你有一个/include /src目录结构,它可能无法工作,除非你把“pch. h”和“pch. cpp”放在同一个目录/src中。另外:将“MyPreComp.cpp”标记为/Yc - create,并在您想要使用的.cpp文件中将.pch设置为Yu - use。
注意:你需要对所有不使用预编译头文件的.cpp文件设置“不使用预编译头文件”,是的,这很麻烦。(Visual Studio 2019)
ctehm74n6#
1.它需要包含在 * 每个 * cpp文件中(默认)1.它需要包含在代码的第一行(不包括注解,在顶部有花哨的注解是可以的)1.它需要在一个 reachable directory 中。当你的项目中有一个文件夹结构时,这个错误经常发生。所以当你的预编译头文件在main中时,在一些嵌套文件夹中的源文件可能会发生这种情况。在这种情况下,要么在文件名前添加必要数量的“../”,要么像上面建议的那样,将主文件夹添加到“附加包含目录”中。1.它实际上需要与项目设置中设置的预编译头文件相同。请检查“预编译头文件”选项设置为“创建”的文件(/Yc)",请确保它引用的是同一个头文件,包括(默认为“pch. h”或“stdafx. h”)当您将一些旧的源代码包含到新的项目中时,经常会发生此错误,反之亦然,由于不同studio版本中的默认名称不同:“stdafx. h”与“pch. h”。1.如果以上所有设置都已设置好,并且您仍然拥有它,请检查您是否真的为正确的构建配置设置了它。始终将项目设置更改应用于所有配置。当我只为一个配置这样做时,花费了我一些神经,并试图编译另一个:
6条答案
按热度按时间o2g1uqev1#
如果你是c++的新手,一个选择就是在项目设置中关闭预编译头。
sy5wg1nm2#
它必须是第一个包含项,不能将其放在其他包含项下。
yfjy0ee73#
您的**.cpp文件可能与pch.h**不在同一目录中
enxuqcxy4#
尝试将pch. h所在的目录添加到附加包含中,即使它位于项目的根目录下。
uinbv5nw5#
快速解决一个令人沮丧的问题时,试图添加.pch到现有的项目:如果你有一个/include /src目录结构,它可能无法工作,除非你把“pch. h”和“pch. cpp”放在同一个目录/src中。
另外:将“MyPreComp.cpp”标记为/Yc - create,并在您想要使用的.cpp文件中将.pch设置为Yu - use。
将“pch. h”作为第一个#include包含在.cpp中
注意:你需要对所有不使用预编译头文件的.cpp文件设置“不使用预编译头文件”,是的,这很麻烦。
(Visual Studio 2019)
ctehm74n6#
1.它需要包含在 * 每个 * cpp文件中(默认)
1.它需要包含在代码的第一行(不包括注解,在顶部有花哨的注解是可以的)
1.它需要在一个 reachable directory 中。当你的项目中有一个文件夹结构时,这个错误经常发生。所以当你的预编译头文件在main中时,在一些嵌套文件夹中的源文件可能会发生这种情况。在这种情况下,要么在文件名前添加必要数量的“../”,要么像上面建议的那样,将主文件夹添加到“附加包含目录”中。
1.它实际上需要与项目设置中设置的预编译头文件相同。请检查“预编译头文件”选项设置为“创建”的文件(/Yc)",请确保它引用的是同一个头文件,包括(默认为“pch. h”或“stdafx. h”)当您将一些旧的源代码包含到新的项目中时,经常会发生此错误,反之亦然,由于不同studio版本中的默认名称不同:“stdafx. h”与“pch. h”。
1.如果以上所有设置都已设置好,并且您仍然拥有它,请检查您是否真的为正确的构建配置设置了它。始终将项目设置更改应用于所有配置。当我只为一个配置这样做时,花费了我一些神经,并试图编译另一个: