我喜欢将Qt项目文件包含到另一个Qt项目中。 长话短说我有一个制作项目和一个测试项目。它们彼此分开以保持生产代码的清洁。
我尝试使用通配符添加标头和源,但它不是递归的。
function GridCtrl($log, $scope, GridData, $q) {
之后我写了一个qmake逻辑来过滤文件。
SOURCES += path\to\production\*.cpp
编译完.pro文件时,邮件看起来很好:
QT += core
QT -= gui
TARGET = qt_test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES = main.cpp
message("Fetching production code")
win32:PRODUCION_FILES = $$system(dir path\to\production /s /b)
for(a, PRODUCION_FILES) {
IS_HEADER = $$find( a, .h$ )
count( IS_HEADER, 1 ) {
HEADERS += $$a
}
IS_CPP = $$find( a, .cpp$ )
count( IS_CPP, 1 ) {
SOURCES += $${a}
}
IS_FORM = $$find( a, .ui$ )
count( IS_FORM, 1 ) {
FORMS += $${a}
}
}
message("Production code fetched!")
message(Headers: $$HEADERS)
message(Sources: $$SOURCES)
message(Forms: $$FORMS)
但不知何故,当我查看QtCreator中的Projects选项卡时,我会在Headers部分看到所有类型的文件(例如cpp和ui,甚至是pro)。
我错过了什么?
我使用Qt 5.4.1在QtCreator 3.5的Win7系统上使用mingw4.9.2 64bit编译。
感谢您的建议和帮助。
谢谢, spiralfuzet