Visual Studio 2019中跨目录引用Base.h失败的问题求助
解决VS2019中main.c引用Base.h失败的问题
1. 先核对文件实际路径
先确认Base.h的真实位置:
- 如果它在解决方案根目录的
base文件夹里,那#include "base/Base.h"写法没问题; - 如果还在原来的
Header Files文件夹下,那得按层级写路径,比如#include "../Header Files/base/Base.h"(根据你的目录结构调整层级)。
注意:Windows路径不区分大小写,但VS智能提示可能认死理,代码里的路径和实际文件夹、文件名大小写要一致
2. 别改解决方案属性,改项目的!
你说改了解决方案属性没用,那是找错地方了——得改你那个DLL项目的属性:
- 右键你的DLL项目(不是顶部的解决方案)→ 属性;
- 左边选
配置属性 → C/C++ → 常规; - 在
附加包含目录里点那个...按钮编辑; - 加个
$(SolutionDir)(这是VS自带的解决方案根目录宏),或者直接手动粘解决方案根目录的绝对路径; - 确定后重新生成项目,红色下划线应该就没了。
3. 清掉VS的智能提示缓存
有时候VS的IntelliSense抽风,明明路径对了还报错:
- 点菜单栏
项目 → 清理解决方案; - 再点
生成 → 重新生成解决方案; - 实在不行就删项目目录下的
.vs隐藏文件夹,然后重启VS。
4. 确认Base.h在项目里
如果Base.h没被添加到当前DLL项目中,智能提示也会瞎报错:
- 右键项目里的
Header Files文件夹 → 添加 → 现有项; - 找到
Base.h加进去就行,哪怕文件不在这个文件夹下,也可以选"添加链接"关联。
内容的提问来源于stack exchange,提问作者UnSure
相关产品推荐
相关产品推荐

