gpt4 book ai didi

c++ - 是否可以在父子目录项目中修改 QT qmake 变量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:23:42 25 4
gpt4 key购买 nike

我有一个结构如下的共享库项目:

图书馆.pro:

TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS += libs plugins test_programs
...
QT += concurrent
...
# Those files contains pure interfaces (C++ abstract classes)
# with no implementation, and some helper classes with inline implementation.
# So there is no reason to create yet another subproject for them
HEADERS += iface/IInterface1.h \
iface/IInterface2.h \ # IInterface2 needs QtConcurrent
...

IInterface2.h:

...
#include <QtConcurrent> // ERROR HERE: file not found, i.e. qmake ignores
// "QT += concurrent" statement in library.pro

class MyHelperExc : public QtConcurrent::Exception
{ ... }

class IInterface2: public virtual IBaseInterface
{ ... }

所以,我的问题是:qmake 只是忽略了 SUBDIRS 父项目中的变量操作。但它在子项目中工作正常。我做错了什么?

最佳答案

TEMPLATE = subdirs

这一行表示 library.pro 只是其他项目的容器,包含在 SUBDIRS 变量中列出的子目录中。 library.pro 中的大多数其他变量都被忽略,除了 CONFIG += ordered,它指定子目录应按照给定的顺序进行处理。

包含 IInterface2.h 的子项目都需要在其 .pro 文件中包含 QT += concurrent

关于c++ - 是否可以在父子目录项目中修改 QT qmake 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22270456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com