C++ & VS Code & CMake & Mac OS

C++

общая среда

  • Операционная система: Mac OS
  • Компилятор: лязг/лязг++
  • Отладчик: lldb
  • IDE: VS Code
  • строитель: cmake

УстановитьVS Codeиcmake

VS Code

vs код официальный сайт

cmake

# 如果没换源,并且没梯子,先进行下一节brew源设置
brew update
brew install cmake

настройки источника заваривания

Замените существующий восходящий поток:

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

brew update

восстановление:

git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

brew update

Замените исходный код Homebrew Bottles:

# bash 用户
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
# zsh用户
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

Плагин VS Code

需要安装的插件
Дополнительное описание плагина:

- Chinese(Simplified): vscode的中文扩展
- Markdown *: 编写Readme.md等markdown文件用
- vscode-icons:图标包

Структура каталогов проекта

目录结构

инструкция

  • .vscode: используется для сохранения конфигурации vscode.
    • launch.json: обычно используется для настройки запуска программы
    • task.json: обычно используется для настройки задач компиляции перед запуском программы.
  • build: используется для сохранения выполненияcmakeФайлы, необходимые для компиляции, сгенерированные командой
    • Makefile: отcmakeАвтоматически генерировать, выполнять в этом каталогеmakeзавершить компиляцию проекта
  • include: каталог заголовочных файлов
  • src: каталог исходного файла
  • CMAKELISTS.TXT: требуется файл CMAKE
  • Примечание. Файлы в каталоге сборки не нужно создавать вручную, нам нужно только создать каталог сборки, а остальное оставить на усмотрение.cmakeавтоматически создан

Исходный код проекта

Изучите код, написанный в процессе «ускоренного c++», и научитесь использовать cmake и формировать шаблонный проект.

Описание элемента: введите имя, промежуточную оценку, итоговую оценку, [нормальную оценку за домашнее задание] и рассчитайте итоговую оценку в соответствии с определенными правилами (0,2*промежуточная оценка+0,4*окончательная оценка+0,4 (медиана обычных оценок))

гитхаб-адрес

CMakeLists.txt

# Minimum version of CMake required to build this project
cmake_minimum_required(VERSION 3.0)

# Name of the project,可以任意指定
project(Project)

# 扫描 src/ 下的所有源文件,并将文件名存入 DIR_SRCS 中
aux_source_directory(src/ DIR_SRCS)

# Add all the source files needed to build the executable
# ${DIR_SRCS}:所有源文件
# main:将生成的可执行文件名
add_executable(main ${DIR_SRCS})

Выше приведен самый простой пример CMakeLists.txt.По мере того, как проект становится все больше и больше, требуется все больше и больше функций, которые нужно изучать постепенно.

launch.js

Файл конфигурации запуска, используемый для выполнения отладки

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) launch debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/main",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "lldb",
            "preLaunchTask": "make"
        }
    ]
}

инструкция

  • «program»: расположение исполняемого файла, соответствующее имени сгенерированного файла в cmakelists.txt.
  • «externalConsole»: открыть внешний терминал
  • «preLaunchTask»: задача, которую необходимо выполнить перед выполнением файла (обычно процесс компиляции)

task.js

Файл конфигурации, используемый для выполнения предотладочной компиляции

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "make",
            "type": "shell",
            "options": {
                "cwd": "${workspaceRoot}/build"
            },
            "command": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

Приведенный выше код эквивалентен

cd build
make

Описание: На самом деле реализация вышеописанногоmakeПеред этим нужно выполнить следующую команду

mkdir build
cd build
cmake ..

для создания make-файла и других связанных файлов, необходимых для компиляции проектаНам не нужно выполнять вышеуказанную команду самостоятельно: плагинcmake toolsсделает это за нас

Клавиша: command+shift+p, введите cmake в поле ввода, выполнитеclean rebuild

Суммировать

После завершения настройки всех вышеперечисленных файлов делаем следующее:

  1. command+shift+p -> cmake:clean rebuild
  2. Выполнить отладку:

Описание: этот шаг специально выполняет следующую команду

cd build
make
./main
  1. Появится окно терминала для отладки