QMake变量在.pri函数中修改时不会改变
QMake variables not changing when modified in a .pri function
我创建了一个包含 .pri 文件的 qmake 函数:
defineTest(add_my_lib) {
lib_name = $
message("adding lib$$lib_name ")
include(mypath/$${lib_name}.pri)
}
在这个 .pri 文件中,我添加了包含库的行:
INCLUDEPATH += /pathToLib/src
LIBS += -L/pathToLib/lib -lmylibname
问题是出于某种原因,在调用 add_my_lib 的 .pro 中
INCLUDEPATH 被重置。
看起来 INCLUDEPATH 是一个不能被函数修改的变量。
或者更好的是,它可以在函数内部,但值不会在调用方 .pro 文件中传播。
这是正确的行为还是我做错了什么?
我想我找到了解决方案:
你必须把
export(INCLUDEPATH)
export(LIBS)
export(DEPENDPATH)
在 include() 指令之后
我创建了一个包含 .pri 文件的 qmake 函数:
defineTest(add_my_lib) {
lib_name = $
message("adding lib$$lib_name ")
include(mypath/$${lib_name}.pri)
}
在这个 .pri 文件中,我添加了包含库的行:
INCLUDEPATH += /pathToLib/src
LIBS += -L/pathToLib/lib -lmylibname
问题是出于某种原因,在调用 add_my_lib 的 .pro 中 INCLUDEPATH 被重置。 看起来 INCLUDEPATH 是一个不能被函数修改的变量。 或者更好的是,它可以在函数内部,但值不会在调用方 .pro 文件中传播。
这是正确的行为还是我做错了什么?
我想我找到了解决方案: 你必须把
export(INCLUDEPATH)
export(LIBS)
export(DEPENDPATH)
在 include() 指令之后