如何根据用户名加载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
我想 运行 我的程序在两台不同的机器上运行,它们有两个不同的用户名和不同的库路径。我想根据从我的 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