如何让我的基于makefile的C ++项目与QT库一起使用最简单最简单的方法?

时间:2018-02-13 13:08:21

标签: c++ qt makefile

我有一个基于 Makefile 的C ++项目。 我使用 Eclipse 和IDE(在Ubuntu上),它与Makefile完美配合。我手工编写Makefile,所以我不需要任何可以自动生成它的东西。

我听说 QT 使用自己的qmake buld系统,它从.pro项目文件生成Makefile:

  

除了Qt Creator之外,Qt还提供qmake,这是一个跨平台的构建脚本生成工具,可以自动为不同平台的开发项目生成Makefile。

Eclipse QT插件描述说:

  

Qt Eclipse Integration无缝集成了整个Qt开发工作流程:   使用.pro文件导入程序和图形项目编辑器进行纯qmake项目管理(不强制使用Eclipse特定项目文件格式)

似乎我想使用Qt,它绝对必须使用自己的qmake构建系统,它将生成makefile。我不喜欢这个想法,因为我的Makefile过于复杂,我不想付出太多努力来弄清楚如何将我的整个Makefile翻译成.pro文件或类似文件。

  1. 有没有办法像任何其他库一样使用Qt,将其安装到系统中,包括我的代码中的头文件,并提供一个包含它的链接器路径?不改变整个构建系统,即坚持使用手动编辑的makefile而不是使用QtEditor,但是Eclipse和以前一样?我不需要任何与GUI相关的Qt内容。
  2. 我绝对必须使用qmake吗?我可以像以前一样只使用make命令吗?

1 个答案:

答案 0 :(得分:1)

我相信您可以像使用现有Makefile的其他C ++库一样使用Qt库。您只需要将任何Qt应用程序或库视为具有特定依赖关系的常规C ++应用程序或库。

然而,Qt的信号/插槽功能需要使用Qt的moc实用程序生成一些额外的代码。对于Qt4项目尤其如此,如果您使用“传统”基于宏的信号/插槽连接。因此,您必须在Makefile中编写其他规则来处理moc标头。有很多关于如何做到这一点的例子。例如:thisthis