我想在 zed ide 中使用 Qt6,但无法自动完成,因为 zed 根本“看不到” Qt。例如,如果你将鼠标悬停在#include(以红色波浪线突出显示)上,弹出消息将显示:clang:未找到“QWidget”文件。 chatGpt 建议指定 clang 这个库的目录,我甚至将它建议的代码输入到我的系统(MacOs)中,以便 clang 能够“理解”要使用什么,但一切都无济于事!我必须在 QtCreator 中打印,但这不适合我。我对这些事情还不熟悉,并不完全(甚至一半都不懂)了解这是否与 includePath 或环境变量有关,我只是生成了有关此的 chatGpt 响应。
ChatGPT 在某处捕获到了某些内容,但无法理解其上下文。如果使用 qmake\make 链,则未指定 Qt 标头的路径。在编译代码时,qmake 实用程序写入 Makefile 的路径将根据 CONFIG 中写入的内容和提供给它的参数来使用,因为系统上可能安装了许多不同版本的 Qt,并且标头集取决于所选的组件。
获取生成的 makefile。在文件的开头会有一个变量,其中包含传递给编译器的参数和所有标题的路径(-I 键)。可能有多条路径,每个模块一条。可以通过添加 Qt 组件来扩展该套件。
您可以在这里提取它们并将它们添加为编辑器的自己的路径。在任何情况下都不能通过环境变量,如果没有其他办法,该编辑器就不适合与 Qt 一起使用(也许有一个 Qt 扩展?)。您还应该添加创建的文件的路径 - ui 和 moc 的结果。
另一个非常令人不快的特性是 Qt 头文件大量使用宏。一些代码分析系统无法处理它们,甚至 MS ItelliSense 也存在问题。缺少(尚未创建)生成的标题和依赖于其存在的复杂宏来阻止代码分析。