Microsoft Visual Studio在使用尖括号时无法解析#include ,但在使用引号时可以解析。
在使用#include语句包含头文件时,使用<>和""的区别很重要。使用<>时,编译器仅在标准库中搜索头文件;而使用""时,编译器会在项目目录中搜索头文件。
假设file.h是由你创建并存在于项目目录中的头文件,只有在使用#include "file.h"时,编译器才能找到这个头文件。
所以,如果出现了(Microsoft Visual Studio doesn't resolve #include
这样做可以确保编译器能够正确地在项目目录中找到并解析头文件,避免了使用标准库路径进行搜索时可能出现的问题。
当使用include引用头文件时," "
和< >
之间的区别如下:
1. " "
:引用非标准库的头文件时,编译器首先在程序源文件所在的目录中搜索。如果找不到,它会去系统默认目录中搜索,通常用于引用用户定义的头文件。
2. < >
:只在系统默认目录或尖括号中的路径中搜索。通常用于引用标准库提供的头文件。
总结一下,标准库提供的头文件可以使用" "
或< >
,但我们习惯使用< >
,而用户自定义的头文件只能使用" "
。
然而,你可以在属性->VC++目录->包含目录
中添加file.h
所在的目录路径。
一般来说,自己编写的头文件使用" "
,而第三方库或系统库的头文件使用< >
。
解决方法:
1. 确保file.h
文件的路径正确且存在。
2. 检查引用file.h
的代码中是否使用了正确的引用方式,即< >
或" "
。
3. 在Properties->VC++ Directories->Include Directories
中添加file.h
所在的目录路径。
希望以上内容能够帮助你解决Microsoft Visual Studio doesn't resolve #include <file.h> but it does when used quotes
的问题。