cmake+make+vscode的使用(Mac env)
前言在Mac上没有了dev这样的工具,我的clion又过期了。然后我就打算在mac上配合vscode通过使用cmake方便进行多文件的编译。单个文件的直接使用gcc, g++命令即可,具体可查看我上一篇博客: g++编译cpp(Mac env)例子项目结构add.hint myAdd (int num1,int num2) {return num1 + num2;}int mySub (int n
前言
在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参数中写入要参与编译的文件
点击状态栏的运行按钮即可。

更多推荐
所有评论(0)