CMAKE 的 Linux and Windows编译C++ CXX配置. CMAKE 安装, VS Code Cmake Tools插件

0、简述

以VS Code 为IDE ,同时适配 Linux和 Windows的gcc编译

  • 安装vscode
  • 安装 gcc
  • 配置cmakelist.txt

1, 安装

inux系统

gcc g++, cmake, vscode
都参考: Linux C++安装学习笔记

Windows

gcc g++, cmake, vscode
参考: 在csdn里搜索即可

2, CMake tools 插件配置

在vs code应用市场安装 cmake tools
在这里插入图片描述

2.1 配置build目录

build是工程cmake编译的中间文件目录,最好不同用户,不同项目 在不同目录下.
在vscode 的插件 cmake tools 里,点插件配置, 找到: build Directory

  • 默认:${workspaceFolder}/build
    这个不利于代码归档,拷贝,建议配置到项目目录外面。
  • 上一级目录:${workspaceFolder}/../build
    配置为 项目目录上一级,这个最简单粗暴。
  • Linux系统
    设定为: data/home/kevin/build/linux/${workspaceRootFolderName}
    例如: 源码根目录名为ktcore.wsp, 你的用户名是kevin,则:
    buildDirectory为:data/home/kevin/build/linux/ktcore.wsp
  • Windows系统
    设定为: E:/build/windows/${workspaceRootFolderName}

3, CMakeLists.txt 配置

3.1 区分Linux还是Windows

在CMakeLists.txt 里,利用宏 WIN32来区分

IF (WIN32) # windows
    #  your code
ELSE () # linux
    #  your code
ENDIF ()

3.1 配置exe 和lib 输出目录

在项目的根目录的CMakeLists.txt 里,设定exe和lib目录。

变量含义测试
CMAKE_BINARY_DIRcmake binary dir没有搞清楚如何用, 应该用2.1 的方法设定
LIBRARY_OUTPUT_PATHlib 输出目录OK
EXECUTABLE_OUTPUT_PATHexe 输出目录OK
我是把lib 和exe输出到一个目录了
IF (WIN32) # windows
    set (CMAKE_BINARY_DIR E:/root/Debug/build/Windows/win_b64)
    set (LIBRARY_OUTPUT_PATH E:/root/Debug/Windows/win_b64)
ELSE () # linux
    set (CMAKE_BINARY_DIR ${PROJECT_SOURCE_DIR}/../bin)
    set (LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}")
ENDIF ()

set (EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}")

3.2 配置lib 输入目录

3, VS Code

vs code 里面的宏定义说明

宏定义说明
${workspaceFolder}表示当前vs code根目录路径.
${workspaceRootFolderName}表示当前vs code根目录名.

编译定制

可以只编译一个测试:

  • 火箭🚀在哪里,应该只运行哪个
  • 这个锤子🔨在某个项目上,编译就只编译这个

在这里插入图片描述

  • 运行
    如果有单元测试:

在TESTING模块里面可以选择全运行或者只运行某个测试。
在这里插入图片描述

  • CMakeLists里面运行
    这里可以逐个运行测试
    在这里插入图片描述

  • 底部工具条控制:
    在这里插入图片描述
    这个在icon模式时没有出来,compact可以
    在这里插入图片描述

引用

  1. GTest和Catch2单元测试学习(附Cmake测试代码库)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小黄鸭code

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值