【问题标题】:How to create distro-specific conditional qmake project如何创建特定于发行版的条件 qmake 项目
【发布时间】:2012-04-10 17:36:37
【问题描述】:

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

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

例如;

unix: {

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

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

}

【问题讨论】:

    标签: qt qmake libs


    【解决方案1】:

    我认为您可以运行“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
    }
    

    【讨论】:

    • 谢谢@rogerzanoni,“包含”是我想要的。将您的版本更改为:GENTOO = $$system(cat /proc/version | grep -o Gentoo)UBUNTU = $$system(cat /proc/version | grep -o Ubuntu)contains( GENTOO, Gentoo): { message(This is Gentoo) LIBS += -lopencv_imgproc -lopencv_highgui -lm }contains( UBUNTU, Ubuntu): { message(This is Ubuntu) LIBS += -lcxcore -lhighgui -lm }
    猜你喜欢
    • 2016-12-06
    • 2019-02-19
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2020-01-12
    相关资源
    最近更新 更多