首页 > 解决方案 > QMake 变量在 .pri 函数中修改时不会改变

问题描述

我创建了一个包含 .pri 文件的 qmake 函数:

defineTest(add_my_lib) {
    lib_name = $$1
    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 文件中传播。

这是正确的行为还是我做错了什么?

标签: qtqt5qt4qt-creator

解决方案


我想我找到了解决方案:你必须把

export(INCLUDEPATH)
export(LIBS)
export(DEPENDPATH)

在 include() 指令之后


推荐阅读