当前位置:首页 >> 服务器

详解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!