2012-04-10 11 views
3

異なるLinuxディストリビューションを実行する2台のコンピュータにコードを書き込むとします。ディストリビューション固有の条件付きqmakeプロジェクトの作成方法

qmakeを作成する方法は、これらの2つのディストリビューションを相違させて、それらの2つの特定のLIBSを割り当てます。

たとえば、

unix: { 

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

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

} 

答えて

6

私はあなたが「は、una​​me -a」を実行して、.PROファイルに戻り値をチェックするために、正規表現を使用することができると思う:@rogerzanoni

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 
} 
+1

おかげで、「含まれている」私が何であったかであります探している。 'GENTOO = $$システム(cat/proc/version | grep -o Gentoo)' 'UBUNTU = $$システム(cat/proc/version | grep -o Ubuntu)' 'には、 GENTOO、Gentooの):{ メッセージ(これは、Gentooである) LIBS + = -lopencv_imgproc -lopencv_highgui -lm } ''含有(UBUNTU、Ubuntuの):{ メッセージ(これはUbuntuである) LIBS + = -lcxcore -lhighgui -lm } ' – tarik

関連する問題