C1083:无法打开包含文件'serialheader.h':没有这样的文件或目录

时间:2009-05-19 00:55:07

标签: .net c++-cli clr

我正在为用C编写的库编写一个包装器。


此库的头文件位于
C:\项目\ SerialLibrary
包装纸位于
C:\项目\ SerialLibrary \客户端\ ClrSerialLibrary

无论我做什么,VS2008,似乎无法找到

#include "serialheader.h"

我总是得到没有这样的文件或目录错误。我已经尝试将硬编码路径放到ClrSerialLibrary属性页中的目录 - >配置属性 - > C / C ++ - > General->其他包含目录

我也试过

#include "..\..\serialheader.h"

我也尝试将头文件的副本放在与clr库相同的目录中..没有运气!救命啊!

2 个答案:

答案 0 :(得分:2)

您已经检查了msdn中提到的所有潜在问题?

  1. 文件不存在。
  2. 文件,子目录或磁盘是只读的。
  3. 没有文件或目录的访问权限。
  4. 文件句柄不够。关闭一些应用程序并重新编译。
  5. INCLUDE环境变量设置不正确。
  6. #include指令在路径规范周围使用双引号,这会导致跳过标准目录。
  7. 您没有指定/ clr,您的程序使用CLR结构。
  8. 您试图在没有首先编译stdafx.cpp的情况下编译项目中的单个文件。在编译项目中的单个文件之前,需要编译stdafx.cpp。对于/ analyze(企业代码分析)编译器选项,您将需要对用于.cpp文件的stdafx.cpp使用相同的/ analyze设置。

答案 1 :(得分:2)

我不能告诉你最重要的答案,但我确信这正是那种不可避免地屈从于一点决心和逻辑解决问题的问题。我会做以下事情;

1)找到有用的东西,尝试其他你尚未想到的可能性,例如

- #include "c:\projects\seriallibrary\serialheader.h"
- #include <serialheader.h>
- Copy serialheader.h to a known good include directory

2)如果无效则将问题减少到最小 - 一个.cpp文件一个.h文件

3)一旦你得到了一些工作,你就会确信你或你的发展环境都不合理和/或疯狂。在那个阶段你会准备好......

4)...逐步将工作但人为的情况转化为实际可以使用的实际情况。在测试新设置仍然有效的每个阶段逐步执行此操作。

我猜测在步骤4中的某个地方你会有一个啊哈!时刻,一切都会变得清晰。即使它没有,你也应该拥有可以在此期间使用的东西。

请注意,通过一些细节更改,上面的配方可以解决各种非深刻的编程问题!