TankRockett Ответов: 1

Как использовать makefile для компиляции проекта с несколькими файлами ?


Недавно я только что построил проект SFML/C++ на коде Visual Studio с использованием CMake и MinGW.Я успешно скомпилировал и запустил тестовый файл в своей папке проекта.

Вот мой Makefile:

StarFire:
	g++ main.cpp -o main.exe -DSFML_STATIC	-I F:\SFMLPrj\StarFirestc\Prefixes\include	-L F:\SFMLPrj\StarFirestc\Prefixes\lib	-lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lopengl32 -lwinmm -lgdi32 -lfreetype


Но затем, когда я включаю больше файлов в папку, я не знаю, как изменить свой Makefile, чтобы скомпилировать 2 или более файлов.

В основном,когда я запускаю свой тестовый файл в первый раз,я включаю заголовок SFML в этот тестовый файл, поэтому, когда компилятор(MinGW) запускается, он заглядывает в Makefile и знает, что я включил туда заголовки SFML.Но когда я делаю новый класс в папке(Game.h и Game.cpp) я помещаю SFML в файл 'Game.h', а затем включаю его в тестовый файл.

Мало того, что я не знаю, как компилятор будет искать заголовки SFML и библиотеки отныне.Я также не знаю, как это будет выглядеть для класса "игра" и куча других классов, которые я сделаю в будущем.

Кто-нибудь может мне помочь ?

Что я уже пробовал:

Я пытался связать этот проект с 'CMakeList.txt-и почему-то это еще больше сбивает с толку.

1 Ответов

Рейтинг:
9

k5054

Взгляните сюда: Учебник CMake — Документация CMake 3.16.2[^]. Это должно направлять вас в создании вашего CMakeList.txt файл.
Но вы уверены, что используете cmake? Генерация Makefile через cmake должна привести к созданию Makefile длиной в несколько строк. В моем случае даже самый простой скрипт cmake создает файл Makefile длиной более 170 строк.


TankRockett

CMake был немного сложным ,но мне удалось успешно скомпилировать и связать проект.Спасибо за помощь!

Shao Voon Wong

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

TankRockett

Как именно я могу это сделать ?