windows--cmake与c++的使用教程(4)

1 概述

本节目标: 编写创建可执行程序exe的cmake脚本

2 核心代码

  • add_executable命令用于生成可执行程序

3 用法

Copy Highlighter-hljs
add_executable(项目名 代码文件)

如果有多个代码文件 可以追加代码文件,例如

Copy Highlighter-hljs
add_executable(项目名 代码文件 代码文件2 代码文件3)

5 一个范例

  • 下面将演示, 使用main.cc代码文件,创建一个基于可执行程序exe的cmake脚本
Copy Highlighter-hljs
cmake_minimum_required(VERSION 3.20) # 项目名称 project(cmake_library) # 因为创建项目需代码文件,这里,我们可创建一个空的文件**main.cc**与CMakeLists.txt位于同级目录src下。 # 指定源文件。 这里创建 src_file, 用于保存代码源文件 set ( src_file ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc ) # 创建动态库, 第一个参数: 项目名称, 第二个参数:代码文件 add_executable(cmake_library ${src_file})

6 多文件管理

  • 通常有头文件和源文件,甚至还有inl文件,例如下面的目录结构,
Copy Highlighter-hljs
. │ CMakeLists.txt │ ├─include │ IOCPTCP.cpp │ IOCPTCP.h │ IOCPTCP.hpp │ IOCPTCP.inl │ └─src main.cc

这里仅仅是创建了空文件,文件内容为空, 用于构建cmake脚本时通过语法
至于项目能否顺利编译,这取决于代码文件的语法,与cmake脚本语法无关

  • 瞧,有这么多文件需要处理,cmake怎么处理呢?脚本如下
Copy Highlighter-hljs
cmake_minimum_required(VERSION 3.20) # 项目名称 project(cmake_library) # 因为创建项目需代码文件,这里,我们可创建一个空的文件**main.cc**与CMakeLists.txt位于同级目录src下。 # 指定源文件。 这里创建 src_file, 用于保存代码源文件 set ( src_file ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc ) # include目录下的文件 set ( include_file ${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.cpp ${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.h ${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/IOCPTCP.inl ) # 创建动态库, 第一个参数: 项目名称, 第二个参数:代码文件, 第三个参数: 代码文件 add_executable(cmake_library ${src_file} ${include_file})
  • 回到VS Code, 打开命令行, 构建脚本, 执行下面的语法
Copy Highlighter-hljs
> cmake : configure
  • 结果

可见已经生成成功

8 查看

  • 可使用Vs2019打开解决方案cmake_library.sln, 查看项目属性
posted @   mohist  阅读(345)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示