在我的设置中,我想支持系统范围的Qt安装和自定义Qt安装。我可以使用pkg-config
为我的系统范围安装获取正确的编译和链接标志:
CONFIG += link_pkgconfig
PKGCONFIG += Qt5Core
但是,如果pkg-config
无法找到Qt5Core
,则构建将失败并显示Project ERROR: Qt5Core development package not found
。
我想设置合理的默认值(例如/usr/local/qt5
),而不是失败。它应该实现以下目标:
if pkg-config can find Qt5Core {
PKGCONFIG += Qt5Core
} else {
INCLUDEPATH += /usr/local/qt5/
LIBS += -lQt5Core
}
如何在项目配置中完成此操作?
答案 0 :(得分:3)
这有一个qmake函数: http://doc.qt.io/qt-5/qmake-test-function-reference.html#packagesexist-packages
packagesExist(Qt5Core) {
PKGCONFIG += Qt5Core
} else {
INCLUDEPATH += /usr/local/qt5/
LIBS += -lQt5Core
}
答案 1 :(得分:1)
您可以使用executes the given command in a secondary shell. Succeeds if the command returns with a zero exit status; otherwise fails.
system(pkg-config --exists Qt5Core) {
PKGCONFIG += Qt5Core
} else {
INCLUDEPATH += /usr/local/qt5/
LIBS += -lQt5Core
}