Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 错误:无法打开源文件“&引用;_C++_Visual Studio - Fatal编程技术网

C++ 错误:无法打开源文件“&引用;

C++ 错误:无法打开源文件“&引用;,c++,visual-studio,C++,Visual Studio,我使用的是VS2010(通过dreamspark下载),虽然我可以通过右键单击并按open Document打开#include文件,但它会抱怨“Error can not open source file”…”,这似乎很荒谬。这一次我将Qwt与Qt一起使用,我特别遇到以下问题: #include <qwt_counter.h> #include <qwt_plot.h> #包括 #包括 (我使用的是“”);不知道如何使这些在上面的代码中正确显示 提前谢谢 这些文件

我使用的是VS2010(通过dreamspark下载),虽然我可以通过右键单击并按open Document打开#include文件,但它会抱怨“Error can not open source file”…”,这似乎很荒谬。这一次我将Qwt与Qt一起使用,我特别遇到以下问题:

#include <qwt_counter.h> 
#include <qwt_plot.h>
#包括
#包括
(我使用的是“”);不知道如何使这些在上面的代码中正确显示


提前谢谢

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

项目->属性->c/c++部分->其他包含目录

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

#include <path_to_file_1/qwt_counter.h>
#include <path_to_file_2/qwt_plot.h>
#包括
#包括
[编辑] 或者当然是尼尔说的
[/edit]

正如尼尔所指出的,尝试使用引号代替文件名周围的
字符。使用引号时,MSVC将在指定文件的
#include
所在的目录中查找,如果找不到,则将在include路径指定的目录中查找。当文件名被
字符包围时,不会查看当前文件的目录-编译器将直接转到包含路径

有关详细信息,请参阅

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

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


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

结果是出现了循环链接,我将所有代码都保存在一个.h文件中。我将其拆分并添加了相应的.cpp文件,现在一切正常。

尝试将
替换为
“filename”
。这与链接无关。以前尝试过,但不起作用=/我不确定这是hurrr的问题,对此表示抱歉。我尝试过这两种方法,但都不起作用,很遗憾。。。奇怪的是,VisualStudio似乎能够找到它们,或者至少能够打开它们,当我请求打开文档时,它没有给出错误;所以它知道它在哪里。。。似乎……我也尝试过将#include语句相对移动;这在过去是相当可靠的吗?@Cenoc:这不是一个真正的可靠性问题,而是一个配置问题。如果VS使用的是makefile项目,那么它所做的就是运行启动构建的命令行,然后makefile使用makefile提供的任何参数调用编译器。在这一点上,VS项目的配置是不可能的。您应该确保cmake所需的include目录路径正确完成。啊,结果是发生了循环链接,我的所有代码都保存在一个.h文件中。将其拆分并添加.cpp文件,一切正常。