Как вы, наверное, уже знаете, запуск файлов 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, чтобы узнать, как его использовать.