Visual Studio在哪里查找C ++头文件?

时间:2008-12-02 20:49:59

标签: c++ visual-studio header

我从SourceForge(HoboCopy,如果你很好奇)检查了一份C ++应用程序的副本并尝试编译它。

Visual Studio告诉我它无法找到特定的头文件。我在源代码树中找到了该文件,但是我需要在哪里放置它,以便在编译时找到它?

是否有特殊目录?

6 个答案:

答案 0 :(得分:99)

Visual Studio按以下顺序查找标题:

  • 在当前的源目录中。
  • 在项目属性的附加包含目录中(在C ++ |常规下)。
  • 工具选项项目和解决方案下的Visual Studio C ++ 包含目录 VC ++目录
  • 在新版本的Visual Studio(2015+)中,不推荐使用上述选项,并且项目属性配置中提供了默认包含目录的列表。 VC ++目录

在您的情况下,将标题所在的目录添加到项目属性中(项目属性配置 C / C ++ →< em>常规→其他包含目录)。

答案 1 :(得分:11)

如果项目附带Visual Studio项目文件,则应该已经配置为找到标题。如果没有,则必须通过右键单击项目并选择“属性”,单击“C / C ++”,并将包含包含文件的目录添加到“其他包含目录”,将包含文件目录添加到项目设置中。编辑框。

答案 2 :(得分:7)

实际上,在带有Visual Studio 2017社区的Windows 10上,C ++标头路径为:

  1. 200

  2. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

第一个包含标准的C ++标头,例如C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt<iostream>。第二个包含旧的C标头,例如<algorithm><stdio.h>。版本号可能因您的软件而异。

希望这会有所帮助。

答案 3 :(得分:6)

尝试将此添加为对Rob Prouse发布的评论,但缺乏格式化使其无法理解。

在Visual Studio 2010中,“工具|选项|项目和解决方案| VC ++目录”对话框报告“已弃用”工具&gt;选项中的VC ++目录编辑“,建议您使用反向直观的Property Manager。

如果你确实想要更新默认的$(IncludePath),你必须在其中一个XML文件中破解相应的条目:

  

\ Program Files   (86)\的MSBuild \ Microsoft.Cpp \ V4.0 \平台\的Win32 \ PlatformToolsets \ V100 \ Microsoft.Cpp.Win32.v100.props

  

\ Program Files   (86)\的MSBuild \ Microsoft.Cpp \ V4.0 \平台\ 64 \ PlatformToolsets \ V100 \ Microsoft.Cpp.X64.v100.props

(可能不是微软推荐的。)

答案 4 :(得分:5)

Visual Studio 2015社区中似乎存在错误。对于64位项目,除非在win32位配置其他包含文件夹列表中,否则找不到包含文件夹。

答案 5 :(得分:3)

有一个更新的问题是什么问题更好地问How do include paths work in Visual Studio?

在较新版本的VisualStudio

中,有人发现了这样做的方法
  • 仅限当前项目(因为问题也在这里设置)以及
  • 默认情况下每个新项目

第二个问题是史蒂夫威尔金森上面的答案解释了什么,正如他认为的那样,不是微软会推荐的。

这里说它的短路:做它,但是在

的用户目录中进行
  

C:\ Users \用户名\应用程序数据\本地\微软\的MSBuild \ V4.0

在XML文件中

  

Microsoft.Cpp.Win32.user.props

和/或

  

Microsoft.Cpp.x64.user.props

而不是在C:\ program files - 目录中,预计Microsoft的未经修改的Factory-File将驻留在该目录中。

然后你按照VisualStudio的方式进行操作,一切都是正常的。

如需更多信息,为什么要这样做,请参阅我的回答there