如何根据用户名加载LIBS?

时间:2018-12-03 06:49:56

标签: qt environment-variables qmake

我想在两台不同的机器上运行我的程序,它们有两个不同的用户名和不同的库路径。我想根据从我的Qt .pro文件中的环境变量检测到的用户名定义LIBS,INCLUDEPATH和DEPENDPATH。有办法实现吗? 我正在使用Scientific Linux 6.5和Qt 5.3。 预先感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用$$(USER)在qmake中获取用户env var。剩下要做的就是根据该值决定使用哪个。

简单的例子:

CURRENT_USER = $$(USER)
message("The current user is: $$CURRENT_USER")

equals(CURRENT_USER, "user1") {
    LIBS += -L/first/path/lib -lstuff
    INCLUDEPATH += /first/path/include
} else:equals(CURRENT_USER, "user2") {
    LIBS += -L/second/path/lib -lstuff
    INCLUDEPATH += /second/path/include
} //...

注意:例如,如果每个用户的图书馆都位于~/libs/mylib中,您还可以执行以下操作:

LIBS += -L$$(HOME)/libs/mylib/lib -lstuff
INCLUDEPATH += $$(HOME)/libs/mylib/include