c++系列12:使用vscode进行编译

文章介绍了如何在VSCode中进行C/C++程序的基础使用,包括选择编译器、设置编译参数、处理多文件项目以及运行和调试选项。对于涉及CMake和make的项目,文章也提供了相应的配置指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 基本使用方法

最基础的方法是打开main文件,点击左边栏第4个,选择编译器(比如clang++)进行编译运行,在下方的调试控制台可以看到输出。
在这里插入图片描述

1.1 编译选项

task.json包含编译参数:

  1. 如果需要是c语言也就是gcc将task.json的command项由g++/clang改为gcc
  2. 如果是多文件编译,需要将task.json中args列表中的"file"项修改为"{file}"项修改为"file"项修改为"{fileDirname}/*.cpp"
  3. 如果网上下载的代码出现一些莫名的错误,如下图,则可能是c++版本问题,这里需要在args列表中指定c++版本:
    在这里插入图片描述
    注意要在CMakeLists.txt中设置set(CMAKE_BUILD_TYPE "Debug")后,这样调试时才能在断点处停下;正式发布时把这一行删掉即可。

1.2 运行选项

从网上下载EAX文件夹,参考https://github.com/nagata-yuichi/GA-EAX。给出的编译命令如下:
g++ -o jikken -O3 main.cpp env.cpp cross.cpp evaluator.cpp indi.cpp rand.cpp kopt.cpp sort.cpp -lm
我们首先用vscode打开下载的GA-EAX-MAIN,在左边栏第4个运行和调试中,点击创建task.json,自动添加一个c++配置,并从左边改成右边:

在这里插入图片描述

由于需要自定义输入,所以再创建一个launch.json文件,添加一个lldb启动配置,将启动参数添加进来:
在这里插入图片描述
再点击运行即可进入调试模式。

2. 需要make和CMake的程序

如果看到软件安装过程为:mkdir build && cd build && cmake … && make && sudo make install,则需要用cmake,会自动提示安装工具(自己的电脑上要先安装cmake,比如在Mac上使用brew install命令安装)。

2.1 编译选项

首先添加Cmake tools插件
在这里插入图片描述
然后按如图添加task.json,这个是用来配置编译选项的:
在这里插入图片描述将内容改为,args里面的内容可以自行修改。注意label,在后面有用:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "CMake: 生成",
			"command": "/usr/bin/clang++",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

2.2 运行选项

同上,launch.json是用来配置运行过程的文件,下面是简单例子,使用preLaunchTask调用带有label的任务,可以在每次运行时预先执行一下编译:

{
  "version": "0.2.0",
  "configurations": [
    
    {
      "name": "C/C++ Runner: Debug Session",
      "type": "lldb",
      "request": "launch",
      "args": [],
      "cwd": "${fileDirname}",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "preLaunchTask": "CMake: 生成"
    }
  ]
}

然后点击左边栏第四各的图标,再点击绿色箭头,就开始运行launch.json的配置,开始编译和debug程序了。
在这里插入图片描述

在intel电脑上可以使用cppdbg插件,LKH算法包进行调试的示例如下,args里面可以填写需要调试的测试案例:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值