Visual Studio 2012 错误:无法打开源文件

Posted

技术标签:

【中文标题】Visual Studio 2012 错误:无法打开源文件【英文标题】:Visual Studio 2012 Error: Cannot open source file 【发布时间】:2014-12-19 13:39:38 【问题描述】:

我有一个库的源代码(头文件和源文件)。我需要在我现有的项目中包含源代码。为此,我已将整个库源代码目录复制到 Visual Studio 项目文件夹中,然后我通过使用包含到项目选项将该目录包含到 VS。很好。

在库源代码目录中有一个头文件“x.h”定义了一些宏,还有一些其他头文件“y.h”和“z.h”使用了“x.h”中定义的那些宏。但是当我在我的主类中包含那些(“y.h”和“z.h”)头文件时,Visual Studio 根本无法识别这些宏。 Visual Studio 生成错误“无法打开此源文件”。

实际上“y.h”和“z.h”找不到“x.h”中定义的宏。如何解决这个错误? 项目属性中是否需要某种设置?

我的第二个问题是如何在我的项目中正确包含一些编程文件,以便我可以正确使用该库功能?我还在配置属性> VC++ 目录> 包含目录中包含头目录。

第三个问题是,有没有一种方法可以让我不必将源代码包含到我的项目中?请记住,我没有该库的 .lib 文件或 .dll 文件,我也无法编译该库。

【问题讨论】:

您是否添加了#include 或#include "x,h"?库文件是否在子文件夹中?如果是,请尝试“.\subfoldername\x.h” 最后我认为你可以创建一个新项目来创建你的库的 dll,可以在其他项目中使用 谢谢,是的,它确实解决了我的第一个问题。并感谢 dll 的建议。实际上,我正在研究用于 mtp 设备中数据同步的 Windows 便携式设备 (WPD) 库。而我的任务是实现WPD提供的状态服务。你有这方面的经验吗? 不,我没有 WPD 方面的经验。 【参考方案1】:

你加了吗

#include <x.h>

#include "x.h"

库文件是否在子文件夹中?如果是,请尝试

#include ".\subfoldername\x.h"

【讨论】:

以上是关于Visual Studio 2012 错误:无法打开源文件的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2012无法创建项目

openssl 包含 Visual Studio 2012 无法识别的路径

在 Visual Studio 中构建时,LoadLibrary 无法加载错误代码 126 的 dll

C++ Visual Studio Express 2010 无法启动程序错误

Visual Studio:无法添加到网站...无法添加文件...访问被拒绝错误 550

采用Visual Studio2012,用OpenCV做图像处理。编译通过,运行时出现如下错误,怎么解决?