Как скомпилировать 2 файла в C++

До этого писал программу в 1 листинге с расширением .cpp, начал читать книгу. Там отдельно создается файл с расширением .h как понял заголовочный с названием всех классов и их членами. Затем создается файл с расширением .cpp в нем расписываются все методы и тд. И создается 3 файл, который уже компилируются с использованием файлов 1 и 2. Как их компилировать все вместе в Visual Studio, а не писать все в одной большой программе?


Ответы (1 шт):

Автор решения: Arty

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

Очень мелкие тестовые программки состоящие из 1-3 файлов, например олимпиадные задачки или задачки StackOverflow, можно компилировать быстрее и удобнее из командной строки, для этого один раз создаём такой командный файл compile.cmd:

@call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
@call cl /utf-8 /std:c++latest /Z7 /EHsc /D_WIN32 /D_DEBUG /Od /MTd %*

В этом командном файле я указал стандартный путь куда устанавливается Visual Studio 2019 Community, у вас возможно будет другой путь к вашей студии, и файлу vcvars64.bat внутри подпапок, так что это требует правки.

Дальше, как видно я указал vcvars64.bat - это для компиляции 64-битного приложения, если надо 32-битное то просто меняем на слово vcvars32.bat.

Также командный файл рассчитан на компиляцию отладочной (debug) версии, если нужно релиз (release) версия то просто меняем в командном файле /D_DEBUG /Od /MTd на /GL /O2 /MT, и если в релизе не нужна отладочная информация то ещё убираем флаг /Z7.

Далее используется этот командный файл элементарно, например для приложения с двумя исходными .cpp файлами будем просто вызывать:

compile.cmd main.cpp library.cpp

Указывать заголовочные файлы (.h/.hpp) в команде компиляции не обязательно, достаточно только .c/.cpp файлов. После вызова команды компиляции на выходе будет .exe файл.

→ Ссылка