前言

在Mac上没有了dev这样的工具,我的clion又过期了。然后我就打算在mac上配合vscode通过使用cmake方便进行多文件的编译。
单个文件的直接使用gcc, g++命令即可,具体可查看我上一篇博客: g++编译cpp(Mac env)
至于windows的请移步 windows make+cmake+vscode配置c++环境

make工具一般是自带的,安装了xcode应该就会有。可通过以下命令查看下有没有,cmake同理。

make --version

cmake工具需要安装。(没装brew的小伙伴建议网上找找教程。可看看这个https://brew.idayer.com

brew install cmake

本文先回讲述通过敲命令的方式运行,最后会介绍如何借助vscode的相关插件一键编译运行。
推荐还是用插件(C/C++ Extension Pack),比较方便些…



命令行

项目结构

add.h

int myAdd (int num1,int num2) {
    return num1 + num2;
}

int mySub (int num1,int num2) {
    return num1 - num2;
}

main.cpp

#include <iostream>
#include "add.h"
using namespace std;

int main() {
    int a, b;
    cout << "please input two numbers: " << endl;
    cin >> a >> b;
    cout << "a + b = " << myAdd(a, b) << endl;
    cout << "a - b = " << mySub(a, b) << endl;
    return 0;
}

CMakeLists.txt:

PROJECT (DEMO)

SET(SRC_LIST add.h main.cpp)

ADD_EXECUTABLE(demo.out ${SRC_LIST})



生成mainfile文件

在当前目录下:

cmake ./

可以看到多了个Makefile文件,这是我们下一步需要的。如果我们没有增加/减少相关的源文件,而只在文件中修改代码,那么下次编译的时候不需要经过此步骤,直接make即可。



make编译

在Makefile所在目录下,打开终端,输入以下命令。

make


然后会发现多了一个demo.out (名字取决于你CMakeLists.txt ADD_EXECUTABLE写的名字)



ps: 如果你需要重新编译,除了 rm demo.out 命令之外,你还可以

make clean

就会删除生成的.out文件,此时又可以在此执行make命令进行编译了。



运行

./demo.out



C/C++ Extension Pack

安装插件

如果安装了插件的话,状态栏就会有一系列图标


另外想说的是,其实这一部分和windows下的操作几乎是一模一样的。


项目配置

选择一个编译器(安装了xcode就会有clang)



我们新建一个项目, 依然使用这个例子。



快捷键command + shift + p, 输入cmake,选择第二个



第一次会出现以下提示:



如果发现没有这个CMakeLists.txt文件的话会让你创建



输入项目名称



选择Executable



就会出现CMakeLists.txt




运行

在CMakeLists.txt中的add_executable参数中写入要参与编译的文件



点击状态栏的运行按钮即可。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐