2012-02-25 39 views
2

這是我的問題: 我想要我的qmake腳本檢測我的opencv版本並將結果保存在CONFIG變量中。我需要的結果有這樣的形式:「opencv20」,「opencv21」,「opencv22」等。 我知道我可以使用系統()函數調用的bash命令,並想用這樣的事情:「opencv2」在qmake腳本中調用sed

CONFIG += opencv$$system(pkg-config --modversion opencv | cut -d. -f'1,2' | sed 's/\.//g') 

它工作正常,在我的終端,但QMAKE給我當我嘗試打印輸出時。只有pkg-config和cut命令的輸出是正確的,所以我假設sed調用混淆qmake莫名其妙......任何提示?

回答

2

system()命令在子shell中執行。這就是爲什麼你必須逃避你的絃樂:

CONFIG += opencv$$system(pkg-config --modversion opencv | cut -d . -f \'1,2\' | sed \'s/\.//g\')