小编use*_*935的帖子

带有pre_targetdeps的qmake模板应用

我有一个QT项目(c ++),该项目的库由于依赖关系而需要在应用启动之前进行构建。我的qmake文件执行以下操作:

TEMPLATE = MyApp
QMAKE_EXTRA_TARGETS += MyDependency
MyDependency.depends = FORCE
MyDependency.commands = make -C dependencies/MyDependency/
PRE_TARGETDEPS += MyDependency

DEPENDPATH += . \
              dependencies/MyDependency/
              dependencies/MyDependency/utilities

INCLUDEPATH += . \
               dependencies/MyDependency/
               dependencies/MyDependency/utilities

LIBS += -Ldependencies/MyDependency/dist
LIBS += -lmessageclient \
        -lmessages \
        -lssutilities \
        -lboost_serialization \
        -lcommon \
        -lmng \
        -lz \
        -lrt \
        -ldl
Run Code Online (Sandbox Code Playgroud)

我的项目很大,我正在使用distcc来利用分布式编译。但是,每当我使用多个distcc节点运行make时,除了依赖MyDependency的项目代码外,我的项目还将开始编译MyDependency。这会导致需要预先构建依赖项的代码部分出现编译错误。

如果我运行qmake,然后再运行只有1个distcc节点的make,它将首先编译MyDependency,然后继续编译项目的其余部分。我还通过使用

CONFIG += ordered
TEMPLATE = subdirs 
Run Code Online (Sandbox Code Playgroud)

但是,我更希望结构保持不变,而没有多个子目录和.pro文件。有没有办法在仍然使用多个distcc节点的情况下完成此操作?

qmake makefile qt4 distcc

5
推荐指数
0
解决办法
1177
查看次数

标签 统计

distcc ×1

makefile ×1

qmake ×1

qt4 ×1