【发布时间】:2012-07-23 16:31:54
【问题描述】:
我有一个 Qt subdirs project,其结构如下:
ExternalQtProject
QtSubdirProjects
- GUI
- WebService
WebService 包含来自外部 Qt 项目的LIBS(WebService 中的.pro 文件)
LIBS += -L<path to ExternalQtProject>
LIBS += <some ExternalQtProject .obj files>
GUI 使用网络服务(GUI 中的.pro 文件):
LIBS += -L<path to WebService>
LIBS += <WebService .obj files>
所以基本上GUI 使用来自WebService 的一个头文件,而后者又使用来自ExternalQtProject 的几个头文件。
问题:在我将来自WebService 的LIBS 条目以及GUI 中包含之前,我遇到了链接器问题,所以GUI 最终得到来自ExternalQtProject 的所有LIBS:
LIBS += -L<path to ExternalQtProject> # I want to avoid redefinition of this
LIBS += <some ExternalQtProject .obj files> # I want to avoid redefinition of this
LIBS += -L<path to WebService>
LIBS += <WebService .obj files>
既然有明确的依赖关系(GUI->WebService->ExternalQtProject),有没有办法避免LIBS对GUI子项目的这种重新定义?
-- 编辑1--
How to use QMake's subdirs template? 帮助我更好地构建我的项目,但还不能避免 LIBS 的重复
【问题讨论】:
标签: qt-creator libs subdirectory