2013-11-09 124 views
3

我正在嘗試使用cmake來安裝opencv。在OpenCV的指令頁,我發現下面的例子:cmake -D <var>:<type> = <value>參數「-D」是什麼意思

cd ~/opencv 
mkdir release 
cd release 
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 

據我瞭解,我應該使用的cmake在新目錄中我創建的,在這個例子中應該是〜/ OpenCV的/釋放產生的Makefile。 但我不太明白最後一行。在cmake幫助中,我發現:

cmake -D <var>:<type>=<value> = create a cmake cache entry 

這是什麼意思?尤其是這部分:"<var>:<type>=<value>",我不明白爲什麼這個例子給出了"CMAKE_BUILD_TYPE=RELEASE""CMAKE_INSTALL_PREFIX=/usr/local .."

非常感謝您的幫助!

+1

似乎':'是可選的,儘管它沒有明確說明。 –

回答

5

從CMake的文檔:

  • -D <VAR>:<類型> = <值>:創建一個cmake的高速緩存條目。
    當cmake第一次運行在空的構建樹中時,它會創建一個CMakeCache.txt文件,並使用該項目的可自定義設置來填充該文件。該選項可用於指定優先於項目默認值的設置。該選項可以根據需要重複多次緩存條目。

:<type>可以被認爲是可選的。

+1

可用的類型在['set'](http://www.cmake.org/cmake/help/git-master/command/set.html)的文檔中有更好的描述。 – Fraser

2

也許你可以試試:

cd ~/opencv 
mkdir release 
cd release 
cmake -D'CMAKE_BUILD_TYPE=RELEASE' -D'CMAKE_INSTALL_PREFIX=/usr/local' 

只要使用「」包圍的參數和不留任何空白-D之間',它可以工作。

我用-D參數配置OpenCV時遇到了一些問題。

我想-D選項只是改變一些默認參數來編譯和安裝pkg。

正如你推斷,CMAKE_BUILD_TYPE=RELEASE意味着你要建OpenCV的包的「釋放」的版本,CMAKE_INSTALL_PREFIX=/usr/local意味着你要指定它的安裝路徑,同時使用make install命令。