0

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

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

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

我可以使用 eclipse 的构建选项编译它,或者通过做

qmake -project
qmake
make

从命令行。两者都有效。

我拥有的包含语句;是:

#include <QtGui>
#include <QApplication>

在两个不同的文件中。

如果我添加另一个,即#include <QSqlDatabase>Eclipse 识别包含,并让我初始化新变量,并使用 QSqlDatabase 类。一切似乎都很好 -见这里 - 日食截图

但是,当我构建项目时,它决定它看不到文件,即使它们都在那里,也可以在终端中看到它们。然后eclipse到处都放红线

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

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

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

4

1 回答 1

2

为什么 qmake -project 从项目文件中遗漏了这些文件?

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

我真的不想每次构建它时都必须进入并手动添加该行......

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

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

工作流程是这样的:

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

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

有关更多信息,请参阅 qt文档和教程。

于 2012-05-23T16:35:19.683 回答