Здравствуйте, nen777w, Вы писали:
N>>>Есть ли способ получить Qt-шные?
А>>- $$QMAKE_INCDIR
А>>- $$system(qmake -query QT_INSTALL_HEADERS)
N>message($$QMAKE_INCDIR) — ничего не выводит
N>message($$system(qmake -query QT_INSTALL_HEADERS)) — выводит только это C:/Qt/qt_minGW32_520/qtbase/include
Подкаталоги Qt'шка сама уже добавляет на основе подключенных модулей.
Если необходимо получать полный путь для конкретного модуля QT могу предложить следующее решение:
defineReplace(get_sub_folder_by_qt_module) {
arg1=$${1}
#Допускаю что тут можно как то все в перебор списка завернуть, но у меня чет не вышло.
core=QtCore
gui=QtGui
xml=QtXml
isEqual(arg1, core) return($${core})
isEqual(arg1, gui) return($${gui})
isEqual(arg1, xml) return($${xml})
error(Folder for the module $${arg1} is not defined)
}
defineReplace(get_path_include_by_qt_module) {
return($$[QT_INSTALL_HEADERS]/$$get_sub_folder_by_qt_module($${1}))
}
message(--------------------------)
message(Modules folder names:)
for(module, QT) message($${module} = $$get_sub_folder_by_qt_module($${module}))
message(--------------------------)
message(Modules headers paths:)
for(module, QT) message($${module} = $$get_path_include_by_qt_module($${module}))
message(--------------------------)
Результат:
Project MESSAGE: --------------------------
Project MESSAGE: Modules folder names:
Project MESSAGE: core = QtCore
Project MESSAGE: gui = QtGui
Project MESSAGE: xml = QtXml
Project MESSAGE: --------------------------
Project MESSAGE: Modules headers paths:
Project MESSAGE: core = C:/Qt/qt_minGW32_520/qtbase/include/QtCore
Project MESSAGE: gui = C:/Qt/qt_minGW32_520/qtbase/include/QtGui
Project MESSAGE: xml = C:/Qt/qt_minGW32_520/qtbase/include/QtXml
Project MESSAGE: --------------------------