Как вы, наверное, уже знаете, запуск файлов C++ в vscode доставляет много хлопот. Вы не получаете те же инструменты, что и сообщество визуальной студии, поэтому вам остается разбираться во всем самостоятельно. В этом коротком тексте я объясню вам, как настроить c++ в vscode. Мы будем использовать компилятор C++ под названием g++, который сделает всю компиляцию за нас.

Предпосылки:

  • Расширение Vscode и C/C++.

  • Chocolately, который является хорошим менеджером пакетов


  • G++:

choco установить mingw

Чтобы убедиться, что g++ установлен, запустите: g++ — version

Настройте проект:

В новой папке создайте файл main.cpp следующим образом:

Затем в командной строке введите: g++ -c main.cpp

Эта строка скомпилирует файл и создаст объектный файл.

А затем свяжите с этой командой: g++ *.o -o tuto

Эта строка возьмет все объектные файлы и свяжет их вместе для создания исполняемого файла. После завершения этого шага вы можете удалить все файлы объектов.

После выполнения этих шагов должен быть создан исполняемый файл с именем «tuto», и при его запуске будет напечатано «Hello World».

Теперь я покажу вам пример проекта, содержащего несколько файлов cpp.

Создайте новый файл с именем log.h и еще один с именем log.cpp.

лог.ч:

лог.cpp:

основной.cpp:

команда 1: g++ -c main.cpp log.cpp

команда 2: g++ *.o -o tuto2

И у вас должен быть исполняемый файл tuto2, который выведет тот же результат в консоль.

Как работает G++:

В разделе компиляции вы вводите g++, который является используемым компилятором, но существуют и другие компиляторы, такие как clang или msvc. Затем мы указываем «-c», что означает, что мы собираемся перечислить наши файлы cpp. Вы можете перечислить столько, сколько хотите, и после запуска этой команды для каждого файла cpp будет создан объектный файл.

В разделе связывания объектные файлы связываются вместе для создания исполняемого файла. Вы вводите g++, а затем указываете путь к этим объектным файлам, «*.o» означает все объектные файлы, поэтому он будет автоматически брать все объектные файлы в текущем каталоге, и, наконец, мы пишем «-o», чтобы дать пользовательское имя к исполняемому файлу, но это не обязательно.

Полная структура команды g++:

// Компиляция

g++ -g — std=[CPPVERSION] -D[ПРЕПРОЦЕССОР] -I[ВКЛЮЧАЕТ КАТАЛОГ] -c [CPPFFILES] -o [CUSTOM_OBJ_PATH]

//Связывание

g++ -g — std=[CPPVERSION] -D[ПРЕДПРОЦЕССОРЫ] [ПУТЬ_ОБЪЕКТА] -o [ИМЯ_ВЫПОЛНЯЕМОГО_ИМЯ] -L[КАТАЛОГИ_LIB] -l[ФАЙЛ_LIB]

//Определения

CPPVERSION = версия C++, которую вы хотите использовать, должна быть числом (03, 20 и т. д.)

ПРЕПРОЦЕССОРЫ = Макросы, определенные в процессе сборки, должны использовать «-D» при перечислении каждого препроцессора.

INCLUDE_DIR = путь к внешним файлам .h, которые вы можете использовать в своем проекте, необходимо использовать «-I» для каждого пути. Вместо того, чтобы говорить #include «../../../file.h», вы можете использовать #include ‹file.h› с этим методом.

CPP_FILES = файлы cpp в вашем проекте, используйте «-c» только в начале перечисления, а не для каждого файла.

CUSTOM_OBJ_PATH = настраиваемый путь, по которому хранится каждый созданный объектный файл.

OBJ_PATH = здесь вы можете просто передать свой CUSTOM_OBJ_PATH и добавить «/*.o», чтобы взять все файлы obj в этом каталоге.

EXECUTABLENAME = имя исполняемого файла.

LIB_DIRECTORIES = Путь к папке, содержащей файлы .lib или .a. Необходимо использовать «-L» для каждого каталога.

LIB_FILE = имя файла .lib или .a, для каждого файла необходимо использовать «-l».

Используйте его для эффективного:

Это уже хорошее начало работы с C++ в vscode, но вы, вероятно, заметили, что он очень повторяющийся, и по мере роста ваших проектов вам будет все труднее и труднее набирать каждую команду самостоятельно. Вот почему мы используем Makefiles. Makefiles можно написать практически на любом языке: python, bach, rust и т. д. Они в основном автоматизируют все эти вещи. Я лично использовал Python, чтобы сделать его, и с тех пор я использую его.



Если вам интересно, вы можете скачать его или сделать самостоятельно, если у вас уже есть знания в простом языке. Если вы решите скачать мой, обязательно добавьте его в переменные среды, чтобы иметь возможность использовать его где угодно на вашем компьютере. Прочитайте README.md, чтобы узнать, как его использовать.