Qt Creator找不到标题(说:"没有这样的文件或目录")

Meh*_*dad 16 c c++ windows qt-creator

如何判断Qt Creator 2.4.1(基于Qt 4.7.4 32位)默认情况下查找头文件的位置?

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

#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)

它强调了这条线并说道

stdio.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

更新

我想我也应该问:这有可能吗?或者我每次要编辑独立的C++文件时都必须创建整个项目吗?

Gui*_*i13 13

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

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

所以答案是这样的:总是创建一个项目来使用语法analyzis.
请注意,在创建此项目时,定义要使用的Qt SDK版本和工具链非常重要,否则语法control-click将不起作用.

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

请注意,我个人使用此方法,其中一个.pro文件只列出了我项目的所有子目录,并且所有键盘快捷键都被禁用,因此我只使用Qt Creator作为编辑器.语法高亮/链接非常棒,比Eclipse快得多,远远快得多!

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

我在一年前填写了一个关于这个语法analyzis的一个方面的错误,这个问题困扰我: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++ lambdas).


Chr*_*wet 1

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

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

没有默认的工具链,因此您需要一个项目来在为其选择的工具链中找到这些标头。