Использование G ++ для компиляции нескольких файлов .cpp и .h

145
задан Keith Pinson 13 July 2012 в 18:57
поделиться

4 ответа

перечислить все остальные файлы cpp после main.cpp.

т.е.

g++ main.cpp other.cpp etc.cpp

и так далее.

Или вы можете скомпилировать их все по отдельности. Затем вы связываете все полученные файлы «.o» вместе.

196
ответ дан 23 November 2019 в 22:35
поделиться

Теперь, когда я разделил классы на .h и .cpp файлы, нужно ли мне использовать makefile или я все еще могу использовать команду "g++ main.cpp"?

Компиляция нескольких файлов одновременно - плохой выбор, если вы собираетесь поместить это в Makefile.

Обычно в Makefile (для GNU/Make) достаточно написать так:

# "all" is name of the default target, running "make" without params would use it
all: executable1

# for C++, replace CC (c compiler) with CXX (c++ compiler) which is used as default linker
CC=$(CXX)

# tell which files should be used, .cpp -> .o make would do automatically
executable1: file1.o file2.o

Таким образом make будет правильно перекомпилировать только то, что нужно перекомпилировать. Можно также добавить несколько настроек для генерации зависимостей заголовочных файлов - чтобы make также правильно перекомпилировал то, что нужно перекомпилировать из-за изменений в заголовочных файлах.

20
ответ дан 23 November 2019 в 22:35
поделиться

При желании вы все равно можете использовать g++ напрямую:

g++ f1.cpp f2.cpp main.cpp

, где f1.cpp и f2.cpp — это файлы с функциями в них. Для получения подробной информации о том, как использовать make для выполнения сборки, см. отличную GNU make documentation.

10
ответ дан 23 November 2019 в 22:35
поделиться

Вы можете использовать несколько команд g++, а затем связать, но проще всего использовать традиционный Makefile или какую-либо другую систему сборки: например, Scons (которые часто легче настроить, чем Makefiles).

4
ответ дан 23 November 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: