我正在使用VS2010(通过dreamspark下载)虽然我可以通过右键单击并按下打开文档打开#include文件,但它会抱怨“错误无法打开源文件”......“”似乎相当荒谬。我这次和Qt一起使用Qt,我特意遇到了问题:
#include <qwt_counter.h>
#include <qwt_plot.h>
(我正在使用“&lt;&gt;”);不知道如何在上面的代码中正确显示它们。
提前致谢。
答案 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文件,现在一切正常。