错误无法打开源文件“...”

时间:2010-06-04 14:13:52

标签: c++ visual-studio

我正在使用VS2010(通过dreamspark下载)虽然我可以通过右键单击并按下打开文档打开#include文件,但它会抱怨“错误无法打开源文件”......“”似乎相当荒谬。我这次和Qt一起使用Qt,我特意遇到了问题:

#include <qwt_counter.h> 
#include <qwt_plot.h>

(我正在使用“&lt;&gt;”);不知道如何在上面的代码中正确显示它们。

提前致谢。

3 个答案:

答案 0 :(得分:9)

正如Neil指出的那样,尝试使用引号而不是文件名周围的<>个字符。使用引号时,MSVC将查找与#include所在文件相同的目录,如果未找到,则会查看包含路径指定的目录。当文件名被<>个字符包围时,不会查看当前文件的目录 - 编译器会直接进入包含路径。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/36k2cdd4.aspx

请注意,这是依赖于实现的行为 - 它可能不适用于其他编译器。

如果这没有帮助,请通过适当地设置“包含目录”属性来确保包含路径包含文件所在的目录:

最后,您可能正在使用makefile项目(我不确定Qt项目在从VS构建时继续使用qmake有多常见),在这种情况下,您需要执行任何操作在调用makefile的命令行上传递的make文件或参数中必须进行配置。

答案 1 :(得分:3)

这些文件所在的路径是否与此源文件的路径相同,或者包含在项目设置中的“其他包含目录”中?

项目 - &gt;属性 - &gt; c / c ++部分 - &gt;其他包括目录。

如果它们位于您正在编辑的源文件的子目录中,或者位于其他包含目录之一(我认为),您还可以将它们包括在内:

#include <path_to_file_1/qwt_counter.h>
#include <path_to_file_2/qwt_plot.h>

[编辑] 或者当然是尼尔说的 [/编辑]

答案 2 :(得分:0)

事实证明发生了循环链接,我将所有代码都放在.h文件中。我将其拆分并添加了相应的.cpp文件,现在一切正常。