天天看點

2021-08-17安裝Cmake

安裝Cmake

sudo snap install cmake --classic
           

添加CMake交叉編譯

一 建立工程

普通編譯

  按照如下結構體建立一個簡單工程,建一個檔案夾build,裡面建立一個main.c

main.c内容如下,

#include <stdio.h>
int main(void)
{
    printf("hello world\n");
    return 0;
}
           

在build工程檔案建一個CMakeLists.txt。

CMakeLists.txt内容如下,

cmake_minimum_required(VERSION 3.2)
project(demo)
add_executable(main main.c)
           

這是正常的工程,編譯的話隻要cd到build目錄下執行cmake .

如果有No CMAKE_CXX_COMPILER could be found.報錯

執行

sudo apt-get update
sudo apt-get install -y build-essential
cmake .
           

編譯完成

然後在終端下輸入make并回車,生成main

elf檔案

如果想重新生成main,輸入make clean就可以删除main這個elf檔案

二 交叉編譯

在build裡建一個CMakeLists.txt

内容如下

set(CMAKE_SYSTEM_NAME Linux)
set(TOOLCHAIN_PATH "/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin")
set(CMAKE_C_COMPILER /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++)
           

PROJECT(HELLO) --------------------添加一個項目

SET(SRC_LIST main.c) ----------------main.c變量,SRC_LIST變量名

ADD_EXECUTABLE(hello ${SRC_LIST}) --------------------生成可執行檔案

使用如下指令編譯

cmake .

ok後再執行make,就可以生成main的elf檔案,

繼續閱讀