ubuntu安装CMake的几种方式

apt安装CMake

sudo apt install cmake
    
    
  • 1

这种方式安装方便,缺点是如果想要自己交叉编译Android平台的opencv会提示版本太低,因为ubuntu16.04源里的cmake版本只有3.5.1,而Android交叉编译工具链android.toolchain.cmake要求cmake版本最低是3.6.0

下载源码编译CMake

到cmake官网下载最新的cmake

https://cmake.org/download/
    
    
  • 1

下载后解压,然后进入目录执行:

./bootstrap
make -j8
sudo make install
    
    
  • 1
  • 2
  • 3

验证版本

cmake --version
    
    
  • 1
cmake version 3.9.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
    
    
  • 1
  • 2
  • 3

这种方式可以安装最新版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
    
    
  • 1

现在自己使用android交叉编译工具链android.toolchain.cmake来编译一些第三方库应该没有什么问题了

编写一个简单的Cmake实例

首先我们编写一个main.cpp文件,一个简单的helloworld程序

#include<iostream>
int main()
{
    std::cout<<"hello world!"<<std::endl;
    return 0;
}
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后编写CMakeLists.txt文件

cmake_minimum_required(VERSION 2.8)
#工程名
project(HELLOWORLD)
#包含原程序,即把给定目录下的源程序复制给变量DIR_SRC
#将指定路径下的源文件储存在指定的变量中
aux_source_directory(DIR_SRC ./)
#生成程序
add_executable(helloworld ${DIR_SRC})
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

编译

$mkdir build
$cd build
$cmake ..
$make
$./helloworld
    
    
  • 1
  • 2
  • 3
  • 4
  • 5

执行结果:

hello world!
    
    
  • 1
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>

apt安装CMake

sudo apt install cmake
  
  
  • 1

这种方式安装方便,缺点是如果想要自己交叉编译Android平台的opencv会提示版本太低,因为ubuntu16.04源里的cmake版本只有3.5.1,而Android交叉编译工具链android.toolchain.cmake要求cmake版本最低是3.6.0

下载源码编译CMake

到cmake官网下载最新的cmake

https://cmake.org/download/
  
  
  • 1

下载后解压,然后进入目录执行:

./bootstrap
make -j8
sudo make install
  
  
  • 1
  • 2
  • 3

验证版本

cmake --version
  
  
  • 1
cmake version 3.9.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
  
  
  • 1
  • 2
  • 3

这种方式可以安装最新版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
  
  
  • 1

现在自己使用android交叉编译工具链android.toolchain.cmake来编译一些第三方库应该没有什么问题了

编写一个简单的Cmake实例

首先我们编写一个main.cpp文件,一个简单的helloworld程序

#include<iostream>
int main()
{
    std::cout<<"hello world!"<<std::endl;
    return 0;
}
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后编写CMakeLists.txt文件

cmake_minimum_required(VERSION 2.8)
#工程名
project(HELLOWORLD)
#包含原程序,即把给定目录下的源程序复制给变量DIR_SRC
#将指定路径下的源文件储存在指定的变量中
aux_source_directory(DIR_SRC ./)
#生成程序
add_executable(helloworld ${DIR_SRC})
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

编译

$mkdir build
$cd build
$cmake ..
$make
$./helloworld
  
  
  • 1
  • 2
  • 3
  • 4
  • 5

执行结果:

hello world!
  
  
  • 1
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>

猜你喜欢

转载自blog.csdn.net/u014746574/article/details/80427692