ubuntu cmake 编译安装

x33g5p2x  于2022-07-13 转载在 Linux  
字(1.5k)|赞(0)|评价(0)|浏览(652)

方法1 apt安装CMake

方法2 下载源码编译CMake

感谢博文:ubuntu安装CMake的几种方式_提辖鲁的博客-CSDN博客_ubuntu安装cmake

本文在基础上做了完善。

方法1 apt安装CMake

sudo apt install cmake

这种方式安装方便,缺点是版本比较低,2022.07.11时版本是3.10.0,有的时候低版本编译失败,

方法2 下载源码编译CMake

到cmake官网下载最新的cmake

https://cmake.org/download/

这里有历史版本的源码:

GitHub - Kitware/CMake: Mirror of CMake upstream repository

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

./bootstrap
make -j8
sudo make install

报错:

Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)
 

在 Ubuntu 系统上的解决方法是,在命令行执行:

sudo apt-get install libssl-dev

验证版本

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

软链接的创建与删除

1.软链接的建立
sudo ln -s 源文件路径 目标文件路径
如:
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7
2.软链接的删除
sudo rm -rf 目标文件路径
如:
sudo rm -rf /usr/bin/pip3.7

现在自己使用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!
 

相关文章