c++ - 在 eclipse 中使用 Qt,#include <QSqlDatabase> 导致找不到文件

标签 c++ eclipse qt include qmake

所以我开始了一个新的 Qt 控制台项目;

目前一切正常。我已经通过集成设置了 Eclipse,但实际上我并没有使用它,我只是包含了相关的 Qt 目录,以便我的 #include <QtGui>调用工作。

到目前为止,这些都运行良好。

我可以使用 eclipse 的构建选项或通过以下方式编译它

qmake -project
qmake
make

从命令行。两者都有效。

我拥有的包含语句;是:

#include <QtGui>
#include <QApplication>

在两个不同的文件中。

如果我添加另一个,即 #include <QSqlDatabase>然后 eclipse 识别包含,并让我初始化新变量,并使用 QSqlDatabase 类。一切似乎都很好 - see here - eclipse screenshot

当我构建项目时,它决定看不到文件 even though they are all there , see them here in the terminal too .然后eclipse puts red lines everywhere .

如果我进入目录,并尝试使用 qmake -project; qmake; make 通过终端完成所有操作然后我得到同样的错误。

但是,如果我进入 .pro qmake -project 创建的文件, 并添加行 QT += sql , 然后做 qmake; make , 那么一切都很好并且可以正常工作。

为什么是qmake -project从项目文件中遗漏这些文件?我真的不想每次构建它时都必须进入并手动添加该行...

最佳答案

Why is qmake -project leaving out these files from the project file?

据我所知,qmake 不应该取代人类程序员。如果你想知道为什么它没有检测到 SQL 依赖,你可以阅读 qmake 源代码。

I'd really rather not have to go in and manually add that line every time I build it...

听起来你想在这里做一些奇怪的事情。您不需要在每次构建之前调用 qmake -project。

qmake -project 生成初始 项目 - *pro 文件。生成初始项目后,您可以对其进行调整,并根据需要添加选项或一些宏魔法。然后,使用 *.pro 文件为构建系统生成脚本(Windows 的 vcproj、Windows/*nix 的 makefile、nmake 生成文件等)。

工作流程是这样的:

  1. qmake -project.
  2. 永远重复:
    2.1.根据您的喜好修改生成的 *.pro 文件。
    2.2 qmake
    2.3 使用您的构建系统构建。 (nmake、make、visual studio 等)

要简单地“构建”您所要做的就是#2.3。仅当您修改了 *.pro 文件时,您才调用 qmake(不带 -project)开关。

参见 qt documentation和教程以获取更多信息。

关于c++ - 在 eclipse 中使用 Qt,#include <QSqlDatabase> 导致找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723632/

相关文章:

c++ - SOCI:栏目多了怎么处理?

python - Python中的递增迭代器(iter)

c++ - 一些内存似乎在 malloc() 和 free() 之后分配

android - 通过返回按钮关闭应用程序时后台服务停止

c++ - 如何解析 "invalid operands of types ' const char [ ]' and ' const char *' to binary ' operator +' "

c++ - 我的代码和巴比伦之间的动画差异,为什么?

php - xdebug、eclipse、centos、远程调试 - 无法在断点处停止

java - 将多个git存储库导入Intellij中的一个项目

c++ - 对 QVariantMap 节点的优雅非常量引用?

c++ - qt按住鼠标按钮和定时器cpp