当前位置:  开发笔记 > 小程序 > 正文

如何使用qmake在单个项目中构建多个二进制文件?

如何解决《如何使用qmake在单个项目中构建多个二进制文件?》经验,为你挑选了2个好方法。

我正在写一个小的qt应用程序套件,它包含一组在同一组文件上工作的小程序.它们的组织方式如下:

/
  app1/
    main.cpp
  app2/
    main.cpp
  app3/
    main.cpp
  common/
    project.h
    project.cpp
    somemore.h
    somemore.cpp
  appsuite.pro

当我这样做时qmake && make,我想要构建以下二进制文件:

APP1/APP1

APP 2/APP2

APP3/APP3

我怎么写appsuite.pro这样的工作?
我听说过有关.pri文件的内容,但我无法弄清楚如何在我的"情境"中使用它们.

帮助赞赏,
jrh



1> PiedPiper..:

一种方法是在每个子目录中都有一个.pro文件.

appsuite.pro:

TEMPLATE = subdirs
SUBDIRS = common app1 app2 app3
app1.depends = common
app2.depends = common
app3.depends = common

APP1/app1.pro:

TARGET = app1
SOURCES = main.cpp
INCLUDEPATH += ../common
LIBS += -L../common -lcommon

common.pro文件应该构建一个静态库,然后可以链接到二进制文件中.

通用/ common.pro:

TEMPLATE = lib
CONFIG = staticlib
SOURCES = project.cpp more.cpp
HEADERS = project.h more.h


+1指出`common`应该是`lib`.谢谢!
另外,你可以使用`app*.pro`文件中包含的`common.pri`来集中`INCLUDEPATH`和`LIBS`指令.

2> RedGlyph..:

一种方法是创建您的全局项目appsuite.pro,如下所示:

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

子项目app1.proapp2.pro应该仅针对那些应用程序创建,具有关于公共/子目录的依赖性

您还可以在appsuite.pro中指定其他依赖项,例如,如果app1依赖于app2,则:

app1.depends = app2

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有