1. 程式人生 > >ubuntu安裝CMake的幾種方式

ubuntu安裝CMake的幾種方式

apt安裝CMake

sudo apt install cmake

這種方式安裝方便,缺點是如果想要自己交叉編譯Android平臺的opencv會提示版本太低,因為ubuntu16.04源裡的cmake版本只有3.5.1,而Android交叉編譯工具鏈android.toolchain.cmake要求cmake版本最低是3.6.0

下載原始碼編譯CMake

到cmake官網下載最新的cmake

https://cmake.org/download/

下載後解壓,然後進入目錄執行:

./bootstrap
make -j8
sudo make install

驗證版本

cmake --version
cmake version 3.9.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

這種方式可以安裝最新版cmake,但是如果想交叉編譯用於Android平臺的第三方庫的話,會在編譯時出現問題,因為Android Sdk中提供的交叉編譯工具鏈android.toolchain.cmake還不支援最新版cmake

軟連結Android Sdk中的CMake

將Android Sdk中的cmake軟連結到/usr/local/bin目錄中

sudo ln -s /home/gavinandre/Android/Sdk/cmake/3.6.4111459/bin/cmake /usr/local/bin

現在自己使用android交叉編譯工具鏈android.toolchain.cmake來編譯一些第三方庫應該沒有什麼問題了

編寫一個簡單的Cmake例項

首先我們編寫一個main.cpp檔案,一個簡單的helloworld程式

#include<iostream>
int main()
{
    std::cout<<"hello world!"<<std::endl;
    return 0;
}

然後編寫CMakeLists.txt檔案

cmake_minimum_required(VERSION 2.8)
#工程名
project(HELLOWORLD)
#包含原程式,即把給定目錄下的源程式複製給變數DIR_SRC
#將指定路徑下的原始檔儲存在指定的變數中
aux_source_directory(./ DIR_SRC)
#生成程式
add_executable(helloworld ${DIR_SRC})

編譯

$mkdir build
$cd build
$cmake ..
$make
$./helloworld

執行結果:

hello world!