在VS2008中使用Qt时,IntelliSense无法正常工作

Posted

技术标签:

【中文标题】在VS2008中使用Qt时,IntelliSense无法正常工作【英文标题】:When using Qt in VS2008, IntelliSense does not work properly 【发布时间】:2009-03-23 19:57:39 【问题描述】:

我在 Visual Studio 2008 中使用 Qt 4.4.2。

当我编写代码时,IntelliSense 似乎死了——它没有显示 Qt 对象中的任何方法或数据成员,例如 QPushButton,没有看到 QObject::connect 静态方法等。

这是典型情况还是我在安装库时做错了什么?

【问题讨论】:

【参考方案1】:

很可能是非标准扩展,例如 public slots: 等。

Qt 站点上已经有一个常见问题解答:Intellisense does not work for my Qt application. What's wrong?

【讨论】:

现在没问题 - 我使用了 Qt->Update IntelliSense 当然,Project->Update Intellisense - 我把菜单按钮弄混了:) @chester89: VS2008 中没有这样的菜单(Qt 和 Project 中都没有)! @Cornelius:此链接有效=> developer.qt.nokia.com/faq/answer/…【参考方案2】:

您需要告诉 Intellisense QT 包含目录。这可以通过转到 Tools -> Options -> Projects and Solutions -> VC++ Directories 找到。将它们添加到右侧的 Show Directories for: Include Files 列表中。我不知道QT安装是否默认这样做。

此外,请确保您的 VS 项目文件将 QT 包含目录作为 C/C++ 常规设置下的附加包含目录的一部分。 (虽然如果你能成功编译,你可能已经有了这个)。

【讨论】:

你的意思是显示的目录?无论如何,它并不能解决问题。顺便提一句。这是“在构建 VC++ 项目时搜索包含文件时使用的路径”。 - 它似乎与 IntelliSense 无关。此外,其他库也可以正常工作,而无需在此处列出它们的包含目录。【参考方案3】:

切换到 VisualAssist。无论如何,这是必须的。

【讨论】:

我的项目会增长得更快)。视觉辅助比 Intellisense 本身强大一点,区别只是 VA 是 VS 的插件:) 查看 blog.wholetomato.com/2008/11/20/… 的 Visual Assist / Qt 技巧【参考方案4】:

对我来说,问题是通过删除解决方案的 .ncb 文件,然后重建以重新生成它来解决的。之后智能感知就起作用了。

【讨论】:

以上是关于在VS2008中使用Qt时,IntelliSense无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Qt DLL总结-VS2008+Qt 使用QPluginLoader访问DLL

Qt .pro 转换为 nmake Makefiles 无法处理静态库,在 VS2008 解决方案中同样有效

vs2008+qt进行开发

vs2008编译QT开源项目--太阳神三国杀源码分析 皮肤

vs2008编译QT开源项目三国杀(五篇文章)

Qt Creator调用VS2008生成的DLL注意事项 good