如何根据用户名加载LIBS?

How to load LIBS based on User name?

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

您可以使用$$(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