Sdl: збірка за допомогою make

Відео: C. Урок 12. Компіляція і система збирання (gcc, make)

Етап 4. Складання за допомогою make
SDL: збірка за допомогою make

Наведу мінімальний makefile для компіляції одного тільки файлу - test.cpp. Зауважу, що SDL любить, коли функція main оголошена з параметрами, а не просто int main (). Тобто правильним буде щось на зразок:
int main (int argc, char * argv [])

Корисно вивчити висновок команди в консолі MinGW (в консолі Windows скрипт sdl-config просто не спрацює):
sdl-config --libs --cflags

Це дасть вам поняття про прапори, які потрібні для збірки SDL-програм під Windows. Зокрема, в деяких випадках треба перевизначати для исходника назву функції main, передаючи компілятору параметр:
-Dmain = SDL_main

Напишемо makefile. Нагадаю, що в makefile, в відступи замість пробілів обов`язково (!) Використовується табуляція. Також нагадаю, що в значеннях LIBS і FLAGS нижче не одинарні лапки, а тильди. Отже, makefile:
TARGET = test
LIBS = `sdl-config --libs4 -lSDL_image -lSDL_ttf -lSDL_mixer
CFLAGS = -03 `sdl-config --cflags4
CC = g ++
all:
$ (CC) $ (CFLAGS) -c test.cpp -o test.o
$ (CC) -o $ (TARGET) test.o $ (LIBS)



clean:
rm * .o
rm $ (TARGET)

По суті, цього makefile (якщо змінювати в ньому імена вихідних файлів) досить для збірки будь-якого прикладу з каталогу test исходника SDL. Не забувайте, що в тих прикладах треба підключення заголовків змінити, додавши SDL / до кожного SDL.h.

Крім того, після звернення до sdl-config прописано -lSDL_image -lSDL_ttf -lSDL_mixer, що забезпечить для модульна програми лінковку з зазначеними бібліотеками: SDL_Image, SDL_Mixer, SDL_Ttf.




SDL: збірка за допомогою make

Етап 5. Складання за допомогою Scons

Наведу файл SConstruct для Scons - з його допомогою можна зібрати цілу програму, що складається з одного і більше файлів (в прикладі для make ми обмежилися тільки одним файлом исходника).

Щоб не робити в коді SConstruct будь-яких перемикачів для різних систем, раджу писати по варіанту SConstruct для кожної системи і додавати до імені файлу розширення. Наприклад SConstruct.lin - файл SConstruct для Linux, а SConstruct.win - для Windows. Потім просто передаємо scons потрібний файл:
scons -f SConstruct.win

Отже, ось SConstruct.win:
import glob import os
env = Environment ()
SOURCES = glob.glob ( `*. Cpp`)
env.Append (CCFLAGS = [ `-g`, `-Wall`])
env.Append (LIBS = [ `mingw32`, `SDLMain`, `SDL`,
`SDL_image`, `SDL_mixer`, `SDL_ttf`])
env.MergeFlags ( `- mwindows`)
env.MergeFlags ( `- I / usr / local / include / SDL
-D_GNU_S0URCE = 1 -Dmain = SDL_main `)
env.Program (target = `game`, source = SOURCES)

Підсумком стане збірка початкових кодів в поточному каталозі в файл game.exe. Зверніть увагу, що важливий порядок вказівки лініюванням бібліотек в змінної LIBS, а також важливі всі додані прапори.



Поки вивчали SDL, встигли зголодніти, як вовк? Значить, Вам слід якомога швидше вивчити бізнес ланч меню (https://restoranmenu.ru/biznes-lanchi.html) і приступити до трапези. Зробити це Ви зможете на сайті restoranmenu.ru, де представлені меню всіх ресторанів і кафе вашого міста!

ІНШЕ

Anjuta: перший погляд фото

Anjuta: перший погляд

Відео: GTA 6 - ПЕРШИЙ ПОГЛЯД Загальний вигляд Anjuta Anjuta, хоча формально і відноситься до ніші програмного…

Sdl + mingw = дружба! фото

Sdl + mingw = дружба!

Відео: SDL 2 Tutorial 1c [SETUP] Windows and MinGW Setup Мабуть, SDL - найпопулярніша бібліотека для створення…

Установка sdl фото

Установка sdl

Відео: Tutorial: Setup SDL for Visual Studio 2012Етап 2. Python і Scons Цей етап знадобиться тільки для зборки за…

Ultimate ++: схеми баз даних фото

Ultimate ++: схеми баз даних

Відео: Бази даних, лекція №1 (2013) Об`єкти SqlExp кардинально полегшують створення запитів, але створення самих…

Linux-порт cuneiform фото

Linux-порт cuneiform

Відео: CuneiForm. Заміна ABBYY FineReader? «Віз і нині там» - можна відповісти словами байки, тільки аж…

Ardour 3: збірка фото

Ardour 3: збірка

Відео: Basic mixing in Ardour 3: Part 2 - Importing files, arranging tracks and overviewing the session Ardour 3…

Qt 5: збірка фото

Qt 5: збірка

Відео: Qt windows. Qt запуск програми під windows. Qt cтатіческая збіркаРозповім про досвід складання Qt 5. Для цього я…

Труднощі з phonon фото

Труднощі з phonon

Відео: TAG: новонароджені - ТРУДНОЩІ ПЕРШОГО МІСЯЦЯ! MNOGOMAMA Я не хочу повторювати документацію і приводити якісь…

» » Sdl: збірка за допомогою make