QT CreatorL从另一个(父)目录添加源文件

时间:2015-09-25 20:32:13

标签: qt qt4

我的Qt项目结构类似于:

目录结构:

  |
  |--- dir
  |      |
  |      | - a.c
  |      | - a.h
  |      | - test.pro
  |--- dir1
  |      | - b.c
  |      | - b.h

test.pro

SOURCES +=  a.c \
            ../dir1/*.c
HEADERS +=  a.h \
            ../dir1/*.h

当我尝试构建项目时,我收到错误:

:-1: error: No rule to make target `../dir1/*.c'

是否有包含.pro文件之外的源文件?

还可以在Qt Creator左侧的Projects窗格中显示它们吗?

1 个答案:

答案 0 :(得分:1)

qmake中的通配符(.pro文件)仅适用于当前项目目录中的文件。对于子文件夹,它不起作用。因此,正确的解决方案是单独添加每个文件

问题出现在Qt错误跟踪器QTCREATORBUG-8925上。勾选的内容将作为新功能请求或由于多个问题而关闭:

  

在.pro文件中使用通配符会产生多个问题,例如:添加一个   附加文件不会自动编译它。也不会删除   文件自动将其从Makefile中删除

但是,wiki Undocumented_QMake

上列出了未记录的功能
  

files(glob) - 返回与指定的glob匹配的文件列表   图案。

因此,如果使用globbing模式的上述问题是可以接受的,那么它可以用作

SOURCES += $$files(../dir1/*.c)