c++头文件间歇性找不到
C++ header files intermittently not found
我在使用一些c++项目时注意到VS2012中的一些奇怪行为。如果我把下面的行放在头文件的顶部:(myclass.h)
#include <D3DX11.h>
编译器会告诉我它找不到文件(即使智能感知提示)。但是,如果我将同一行放在另一个文件(myclass.cpp)中,一切都可以正常工作。我不明白为什么在一个文件中可以找到它,而在另一个文件中却找不到?怎么回事?
EDIT/NOTE:
这并不是DirectX特有的问题。当我决定问你的时候,这正是我正在研究的东西。这在其他地方也可能发生。
在新版本的visual studio中,包含路径是在项目级别设置的。也许包含cpp的项目有正确的路径设置(参见Jesse Good在你的问题中的评论)。然而,对于您的解决方案中的另一个项目,情况可能并非如此。一旦你把include放到头文件中,包括你的头文件的所有其他项目都需要知道在哪里可以找到directX-headers文件。
小心智能感知-如果你打开一个头,它必须猜测你可能从哪个cpp中包含这个头,并且显示的信息并不总是正确的。我认为在较新的版本中,它甚至取决于其他文件被打开/项目被选中。当包含头文件时,编译器应该告诉您cpp实际上导致了什么问题。
相关文章:
- C++ ZBar cmake 错误"找不到文件"时包括
- 如何修复使用VScode调试器gcc调试时的"找不到文件"错误
- C++找不到文件
- Windows Subsystem for Linux (WSL) 下的间歇性随机"找不到文件"错误
- Makefile在Linux中工作,但在Windows下不起作用,在子目录中找不到文件
- Nemiver 找不到文件 /build/glibc-LK5gWL/glibc-2.23/stdlib/random.c
- 在 Windows 10 上找不到 ./****.h 文件 qt5,C++
- 找不到文件或目录
- ld:找不到文件:/usr/lib/crt1.o
- sip:找不到文件"QtGui/QtGuimod.sip"
- 生成文件错误 - 找不到文件 - *.cpp
- 错误53:找不到文件,而是路径中存在所有DLL
- YAML::LoadFile(std::string const&) 找不到文件 [ROS 中的 yaml-cpp]
- 在英特尔C++编译器 (Linux) 的配置搜索路径中找不到文件可执行文件
- CMake 包含错误(找不到文件、未定义引用)
- 尝试包含id3lib标头时出现找不到文件错误
- 在iOS设备上找不到文件QT创建者C QstandardPaths :: StandardLocations(Qs
- 生成可执行文件时找不到文件,但在eclipse c 中运行正常
- Rcpp:将C++函数移植到 R 中,'Rcpp.h'找不到文件
- CodeBlocks MinGW版本找不到文件,必须手动包含在链接器中