CMake学习:使用camke创建一个最简单的跨平台c++项目

Posted CodeBowl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMake学习:使用camke创建一个最简单的跨平台c++项目相关的知识,希望对你有一定的参考价值。


须知:我是在Windows环境下实验的。

什么是CMake

CMake是一个跨平台的编译、安装、测试以及打包工具;CMake不直接编译软件,而是结合原生构建系统来构建软件。CMake配置文件是CMakeList.txt文件(每个源码文件夹下都要有一个),CMake根据配置文件在生成Unix的Makefile或VS的solution文件等。

为什么选择cmake

跨平台需求

CMakeLists.txt

cmake的配置文件

使用cmake创建一个简单的工程项目

为了自动构建工程,需要在源文件所在的最上层目录写一个CMakeLists.txt文件,它是cmake的源文件,也可以看作是cmake的脚本文件,这个文件描述了cmake怎样帮我们自动构建工程。举一个最简单的例子只有一个cpp文件和cmakelists.txt。
  1.1编写代码
  CMakeLists.txt

# cmake的最低版本要求
cmake_minimum_required(VERSION 3.13)
​
# 工程名称,cmakedemo
project(cmakedemo)if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose Release or Debug" FORCE)
endif()
message(STATUS "===============CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
​

# 设置C++版本 17
if(NOT CMAKE_CXX_STANDARD)
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()
​
#生成文件
add_executable(hello hello.cpp)hello.cpp

hello.cpp

​#include <stdio.h>
int main (int argc, char *argv[])
{
    printf("hello world!");
    return 0;
}

1.2 设置路径

1.3 设置目标工程为vs工程

1.4 产生vs工程

1.5 打开vs工程,编译运行程序

以上是关于CMake学习:使用camke创建一个最简单的跨平台c++项目的主要内容,如果未能解决你的问题,请参考以下文章

cmake 多目录管理

Android JNI学习笔记-编译文件Android.mkApplication.mk 与camke

使用 cmake 的跨平台 Qt5 项目

cmake源码包安装后的卸载问题

C++学习(四九五)一个最简单的cmake工程文件(动态链接库)

C++学习(四九五)一个最简单的cmake工程文件(动态链接库)