據我所知,編譯和安裝從源的東西,在Unix系統,涉及的三個步驟是:調用CMake相當於./configure步驟嗎?
1)./configure
2)make
3)make install
當我檢查了安裝OpenCV from source,我注意到它沒有./configure
步驟,但它有一個cmake
步驟。這讓我覺得cmake
相當於./configure
。我還讀了cmake
可以生成構建系統,如Makefiles
,這是./configure
步驟所做的。
但是,這個article(見what is the difference?
的第一段)說,cmake
也執行實際構建。如果是這樣的話,爲什麼OpenCV安裝在cmake
之後指示make
?另外,我經常看到cmake
與make
相比,而不是./configure
。那麼,cmake
究竟適合哪裏?
它不完全說CMake執行構建。也許你指的是「你在選定的構建系統中執行實際構建」的部分?您仍然需要運行'make'或其他生成器來編譯,就像使用autotools一樣。 –
是的。你是對的。由於我對cmake的理解有限,我相信我誤解了這句話。 –
順便說一句,'configure'(shell)腳本不是* NIX/Linux世界中的*規則*;大多數時候它由Autotools生成,有時是「手動」生成的,有時是由其他工具/語言生成的。嚴格來說,這是特定項目所使用的構建系統的問題 - 不是一個規則!有很多軟件包使用純粹的'Makefile'(手工編寫)或其他(meta)構建系統,它們根本沒有'configure'腳本。 – zaufi