“致命错误C1083:无法打开包含文件”但我已将目录添加到项目中

问题描述 投票:2回答:2

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

#include "detector.h"

我收到了错误

致命错误C1083:无法打开包含文件:'detector.h':没有这样的文件或目录

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

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

project_directory/
  - test/
    - [my_test_project]
  - detector_directory/
    - detector.h
    - detector.cpp
  - other_component_directory/
    - other_component.h
    - other_component.cpp
  ...

我能够#include other_component.h并为该类编写和执行测试。我实际上能够包括其他三个类,并为这三个类编写和执行测试,但是四个类(包括detector)给了我同样的错误。

整个project_directory/从SVN存储库中检出,到目前为止我只贡献了它。我提到,如果链接或为回购创建的东西可能会发生一些奇怪的事情。我认为在将回购恢复到之前的更新之后可能会出现这个问题,但我不确定我是否只注意到它。

谢谢你的帮助!

c++ visual-studio svn visual-studio-2012
2个回答
3
投票

我已经在项目 - >属性 - > C / C ++ - >常规 - >其他包含目录下包含了头文件的完整路径。

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

检查是否为活动解决方案配置设置了此选项。有时它设置为Debug,但不适用于ReleaseRelease配置无法在这种情况下构建。


1
投票

我为今天类似的问题挠了头约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的路径。如果有人遇到类似问题,希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.