Qt Creator无法find标题(说:“没有这样的文件或目录”)

我该如何告诉Qt Creator 2.4.1(基于Qt 4.7.4 32位)在哪里默认查看头文件?

当我在Qt Creator中打开一个C文件并说

#include <stdio.h> 

它强调线和说

 stdio.h: No such file or directory 

我想告诉它在我select的目录中查找标题; 我该怎么做呢?

更新

我想我也应该问:这甚至可能吗? 或者每次我想编辑一个独立的C ++文件时,是否必须创build一个完整的项目?

Solutions Collecting From Web of "Qt Creator无法find标题(说:“没有这样的文件或目录”)"

我发现自己经常面临这个问题。 我现在也可以在我的机器上重现它(Mac OS)。

看起来QtCreator需要有一个项目来正确处理GCC路径分析(在Qt框架路径之上)。
Qt用来查找头文件的过程是,它使用特殊的参数启动GCC(或Windows上的编译器),使其输出编译器找到头的路径。 但是 ,要做到这一点,它必须有一个项目与你的文件相关联,因为它使用这个项目来确定使用什么工具链,从而找到GCC的位置。

所以答案是这样的:创建一个项目, 总是使用语法分析。
请注意,创建此项目时非常重要,您需要定义Qt SDK的版本和您要使用的工具链,否则语法控制点击将不起作用。

您可能会发现使用Qt项目文件的一些有趣的方法,尽管不使用Qt SDK或使用Creator来构建您的项目。 请参阅此处的类似问题的答案: https : //stackoverflow.com/a/5817226/389405

请注意,我个人使用这种方法,使用一个.pro文件,它简单地列出了我的项目的所有子目录,并且禁用了所有的键盘快捷键,所以我只使用Qt Creator作为编辑器。 语法突出显示/链接是非常棒的,特别快,远比Eclipse快得多!

要做到这一点,只需在项目目录中输入qmake -pro即可。 它将创建一个[DIR].pro文件,您可以随时删除。

一年前,我在这个语法分析的一个方面填充了一个bug,它在这里困扰着我: https ://bugreports.qt.io/browse/QTCREATORBUG-4846,原因是我使用的编译器以法语输出它的数据英语的。 他们在2.4版本中修复了这个代码,但是它可能是Unix特有的(请参阅该问题的评论以获取更多信息),所以您可能需要测试这个问题是否可以应用于您的案例。

如果你的问题在为你的版本创建一个项目之后仍然存在,一定要把它指向qt-project.org的人!

否则,我看到的唯一解决方案是修改QtCreator的源代码。 你可以在他们的最后一篇文章中找到关于如何在这里贡献的一些信息: https : //blog.qt.io/blog/2012/03/15/qt-creator-2-5-beta/ (并尝试他们的新测试版支持C ++ lambda )。

你正在使用哪个操作系统和编译器以及两者的版本? 检查安装的环境变量是否正确,例如,C ++头文件是什么? 一个变体是在左侧面板的项目配置中添加“包含页眉”的路径,转到“project – program – target”并添加包含的路径。 另一种方法是在.pro文件中将完整路径添加到c ++标准头文件的变量“includepath”中。

独立的C ++文件可以编辑,但很可能你会失去#include和自动完成等功能。 我亲自把我所有的项目都保存在Qt中,无论是一个简单的GUI程序,只执行一个任务,所以我可以调试它(gdb似乎不喜欢命令行程序,至少在我的经验)或使用“简单的C ++命令行“项目的非Qt依赖项目。

或者每次我想编辑一个独立的C ++文件时,是否必须创建一个完整的项目?

不,您可以通过右键单击项目树的根目录 – 上下文菜单 – 添加现有文件,在现有项目中包含独立文件。 您可以为此指定热键,也可以从项目中删除文件,以便使用您最喜爱的编辑器及其环境。 你可以看看它,只是打开文件。 不幸的是,没有命令行参数来指定一个默认项目(和它的环境)的独立文件,通过双击文件管理器来使用它。

希望能帮助到你。

这取决于为当前项目定义了哪个工具链。

工具链在工具 – 选项 – 构建和运行工具链中定义。 大多数是自动检测,但你可以添加自己的。

没有默认的工具链,所以你需要一个项目来找到它所选择的工具链。