如何创建特定于发行版的条件qmake项目

tar*_*rik 3 qt qmake libs

假设我在运行不同Linux发行版的2台计算机上编写代码.

如何让qmake区分这两个发行版并为这两个发行版分配特定的LIBS.

例如;

unix: {

   ubuntu*: {
          LIBS += -lcxcore -lhighgui -lm
   }

   gentoo*: {
           LIBS += -lopencv_imgproc -lopencv_highgui -lm
   }

}
Run Code Online (Sandbox Code Playgroud)

rza*_*zan 7

我认为您可以运行"uname -a"并使用正则表达式来检查.pro文件中的返回值:

UNAME = $$system(uname -a)

contains(UNAME, YourRegExpToMatchGentoo): GENTOO = 1
contains(UNAME, YourRegExpToMatchUbuntu): UBUNTU = 1

contains(GENTOO, 1): {
    LIBS += -lcxcore -lhighgui -lm
}

contains(UBUNTU, 1): {
    LIBS += -lopencv_imgproc -lopencv_highgui -lm
}
Run Code Online (Sandbox Code Playgroud)