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!