CMakelists.txt简单介绍

1 篇文章 0 订阅

        先祝大家开工大吉,这篇策划一下CMakelists.txt,它依托在Cmake里,在大型工程、平台兼容方面非常好用的C++项目编译工具,再此先对它做一个简短的介绍。

目录

一、CMakelists.txt简介

二、使用示例

三、总结


一、CMakelists.txt简介

        CMakelists.txt是Cmake的配置文件,用于描述编译方式和项目依赖。在windows下CMake 会读取 CMakeLists.txt 中的设置,并生成项目的 makefile 或 Visual Studio 工程文件,其中makefile时linux下的C++项目编译文件,不了解makefile请看这篇:

https://bobowen.blog.csdn.net/article/details/124248066

 Visual Studio在windows平台下独霸一方,使用Cmake生成可编译的 Visual Studio工程文件很方便。并且,使用 CMake 可以跨平台编译项目,例如 Windows、Linux 和 macOS。CMakeLists.txt 中的命令包括项目名称、编译器选项、源文件列表、链接库依赖等。使用 CMake 可以很方便地管理项目的依赖关系,并且可以通过调用 cmake 命令来生成项目的 makefile 或者是 IDE 的工程文件。

        那些使用CMakelists.txt的情况,首要的就是跨平台,一个项目可以只用一份编译脚本就ok。然后就是可以管理项目依赖、支持多种编译器(GCC、Clang、Visual Studio )、支持多种构建类型、支持第三方库(Opencv、Boost等)。

  1. 跨平台编译项目:CMake 可以根据不同平台的环境自动生成对应的 makefile 或 Visual Studio 工程文件,从而方便地在 Windows、Linux 和 macOS 等平台上编译项目。

  2. 管理项目依赖:CMake 可以通过 CMakeLists.txt 中的命令来管理项目的依赖关系,例如包含头文件目录、链接库文件等。

  3. 支持多种编译器:CMake 支持多种编译器,例如 GCC、Clang、Visual Studio 等,可以根据需要在 CMakeLists.txt 中设置对应的编译器选项。

  4. 支持多种构建类型:CMake 支持多种构建类型,例如 Release、Debug、Profile 等,可以根据需要在 CMakeLists.txt 中设置对应的构建类型选项。

  5. 支持第三方库:CMake 支持在项目中使用第三方库,例如 Boost、OpenCV 等,可以在 CMakeLists.txt 中配置相关的头文件目录和库文件。

Cmakelists.txt的风格:

cmake_minimum_required(VERSION 3.0)

project(myproject VERSION 1.0)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

add_executable(myproject main.cpp)
target_link_libraries(myproject)
  • project():设置项目名称和版本号。
  • cmake_minimum_required():设置 CMake 的最低版本要求。
  • set():设置变量的值。
  • add_executable():添加可执行文件。
  • add_library():添加库文件。
  • target_link_libraries():链接库文件。
  • include_directories():添加头文件目录。

二、使用示例

        src中有main.cpp include中有add.h和sub.h lib中有add.cpp与sub.cpp编好的mylib.lib

        add.h:

#pragma once
int add(int a, int b);

        add.cpp:

#include"add.h"
int add(int a, int b)
{
    return a+b;
}

        sub.h:

#pragma once
int sub(int a, int b);

        sub.cpp:

#include"sub.h"
int sub(int a, int b)
{
    return a-b;
}

我们将add和sub编程mylib.lib,注意mylib为你的lib名称,在我的例子里是IDATest.lib,在visual里就可以。

        Cmakelist.txt的书写:

cmake_minimum_required(VERSION 3.10)
project(MyProject)

include_directories(include)

add_executable(main src/main.cpp)
target_link_libraries(main IDATest.lib)

 我们在同级目录下创建build方便存入编译好的文件,最终的文件目录格式如下:

 然后就是Cmake的安装,需要加到环境变量中,看下面链接:

CMake的安装(超级详细)_小码1111的博客-CSDN博客_cmake安装

https://wendy.blog.csdn.net/article/details/123029415?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-123029415-blog-115654082.pc_relevant_vip_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-123029415-blog-115654082.pc_relevant_vip_default&utm_relevant_index=2

        cmd进入build,输入命令   camke ..  注意中间有空格。

  

        大功告成。

三、总结

        本篇为CMakelist.txt入坑简单介绍,后续有时间给大家带来其语法的详细介绍。

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thomas_Lbw

欣赏我就赏赐给我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值