Как загрузить LIBS на основе имени пользователя? - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу запустить мою программу на двух разных машинах, и у них два разных имени пользователя и разные пути к библиотекам.Я хочу определить LIBS, INCLUDEPATH и DEPENDPATH на основе имени пользователя, обнаруженного из переменной среды в моем файле Qt .pro.Есть ли способ добиться этого?Я использую Scientific Linux 6.5 и Qt 5.3.Заранее спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете использовать $$(USER) для получения пользовательского env var в qmake.Осталось только решить, какой из них использовать, основываясь на этом значении.

Простой пример:

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
...