Visual Studio编译时无法打开pugixml.hpp等头文件的问题求助
解决Visual Studio编译时头文件找不到的问题
先确认SVN拉取是否完整
- 先翻本地项目目录,看看有没有
pugixml.hpp、cereal/types/list.hpp这些文件。如果没有,要么是SVN没拉全,要么是权限不够:- 打开命令行进项目根目录,跑
svn status看看有没有未同步的文件提示;如果项目用了子模块,加个svn update --recursive试试拉取子模块内容。 - 要是还是找不到,直接找仓库管理员确认你有没有这些依赖文件的访问权限。
- 打开命令行进项目根目录,跑
正确配置Visual Studio头文件路径
如果本地已经有这些文件,那就是路径配置错了,按下面步骤来:
- 右键点击C++项目(别点C#项目,头文件配置是C++项目的事),选「属性」。
- 左侧展开「C/C++」→「常规」,找到「附加包含目录」。
- 点右侧下拉箭头选「编辑」,添加头文件所在的父目录:
- 比如
pugixml.hpp在thirdparty/pugixml/include里,就加$(ProjectDir)thirdparty/pugixml/include(用相对路径比绝对路径靠谱,换电脑也不用改); cereal/types/list.hpp在thirdparty/cereal/include里,就加$(ProjectDir)thirdparty/cereal/include。
- 比如
- 注意选对配置(Debug/Release)和平台(x86/x64),别只改了Debug配置,编译Release时还报错。
- 点「确定」后,重新生成项目。
检查预编译头设置(如果项目用了的话)
要是项目里有预编译头(比如stdafx.h),确保这些第三方头文件是在预编译头之后引用的,或者预编译头里已经配置了正确的包含路径。
内容的提问来源于stack exchange,提问作者Ramin B
相关产品推荐
相关产品推荐

