Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ &引用;致命错误C1083:无法打开包含文件";但我已将目录添加到项目中_C++_Visual Studio_Svn_Visual Studio 2012 - Fatal编程技术网

C++ &引用;致命错误C1083:无法打开包含文件";但我已将目录添加到项目中

C++ &引用;致命错误C1083:无法打开包含文件";但我已将目录添加到项目中,c++,visual-studio,svn,visual-studio-2012,C++,Visual Studio,Svn,Visual Studio 2012,我认为这是一个奇怪的问题。我将尽可能多地提供细节。我正在尝试使用以下命令导入Visual Studio 2012测试项目中自定义类的标题: #include "detector.h" 我得到了错误 致命错误C1083:无法打开包含文件:“detector.h”:没有此类文件或目录 我已经在Project->Properties->C/C++->General->additionalinclude目录下包含了头文件所在文件夹的完整路径 头文件相当长,但基本上只包含类的声明。detector.cp

我认为这是一个奇怪的问题。我将尽可能多地提供细节。我正在尝试使用以下命令导入Visual Studio 2012测试项目中自定义类的标题:

#include "detector.h"
我得到了错误

致命错误C1083:无法打开包含文件:“detector.h”:没有此类文件或目录

我已经在
Project->Properties->C/C++->General->additionalinclude目录下包含了头文件所在文件夹的完整路径

头文件相当长,但基本上只包含类的声明。
detector.cpp
文件包含类的定义。我的文件系统上的目录结构如下所示:

project_directory/
  - test/
    - [my_test_project]
  - detector_directory/
    - detector.h
    - detector.cpp
  - other_component_directory/
    - other_component.h
    - other_component.cpp
  ...
我能够
#包括其他_组件.h
,并为该类编写和执行测试。实际上,我可以包括其他三个类,并为所有三个类编写和执行测试,但有四个类(包括
检测器
)给了我同样的错误

整个
project\u目录/
都是从一个SVN存储库中签出的,到目前为止只有我参与了这个存储库。我提到,万一回购协议中的链接或其他东西出现了一些奇怪的情况。我认为这个问题可能是在将回购恢复到以前的更新后出现的,但我不确定我当时是否注意到了它

谢谢你的帮助

我已经在Project->Properties->C/C++->General->Additional Include目录下包含了头文件的完整路径

它应该是
detector.h
头所在的目录路径,而不是文件路径


检查您是否已为活动解决方案配置设置此选项。有时它设置为
Debug
,但不设置为
Release
,并且
Release
配置在这种情况下无法构建。

今天我为类似的问题挠头了约3个小时。在我的例子中,有一个用于构建二进制文件的构建文件层次结构。我必须在目录和项目级Makefile中包含头文件的目录(
detector.h

project_directory/
- **libraries.mk**
- test/
- [my_test_project]
  - detector_directory/
    - **build.mk**
    - detector.h
    - detector.cpp
  - other_component_directory/
    - other_component.h
    - other_component.cpp
我必须将路径添加到
build.mk
libraries.mk


可能会有一些奇怪的链接发生,你可能必须检查自己的一个。确保
detector.h
存在于您期望的文件夹中,并确保您可以在Visual Studio中打开并读取它。@drescherjm我可以在VS中打开并读取它。我可以将它添加到项目中,尽管我认为这只是引用它,而不是复制它。如何检查它是否作为实际文件存在,而不是Windows中的某个虚拟链接或其他内容?我知道如何在*nix操作系统上…1)您的MSVC解决方案中只有一个项目还是几个项目?您需要在每个项目中添加include目录。2) 在编译哪个cpp文件的过程中会发生错误?您可以单独编译cpp文件,以确定是否适用于所有cpp文件。@Engineero这是一个预编译的头文件,根据我的经验,它导致的问题比解决的问题多。您可以在项目的属性下禁用它,然后“配置属性\C/C++\Precompiled Headers”。@Engineero很高兴听到您可以解决它:-)@Engineero在项目属性页的顶部可以看到可用的配置。选择您需要构建的配置调试、发布和平台,并检查选项,例如
附加包含目录
是否正确配置。还要检查此目录的路径长度是否小于256个符号。我添加了
detector.h
所在的文件夹,而不是文件的路径。我已经在我的问题陈述中解决了这个问题。看起来问题在于我为哪个配置设置了选项。谢谢