Ссылка make-файла для использования библиотеки SDL - PullRequest
0 голосов
/ 11 января 2020

Я учусь, используя библиотеку SDL ie, с французским сайтом. Это туто:

"Возможно, некоторые из вас привыкли собирать вручную под Linux, используя Makefile (файл, контролирующий компиляцию). Если это ваш случай, я приглашаю вас чтобы скачать Makefile, который вы можете использовать для компиляции проектов SDL.

Единственное, что немного особенного, это добавление библиотеки SDL для компоновщика (LDFLAGS). Вам нужно будет загрузить версию Linux SDL и установите его в папку вашего компилятора "

Я нашел мою папку g cc в / usr / bin / g cc, но когда я хочу переместить make-файл в эту папку, ошибка:

mv: cannot move 'makefile_sdl' to '../usr/bin/makefile_sdl': Permission denied

Это мой make-файл, возможно, что-то не так или отсутствует (я новичок, ахах)

CPP=gcc    #compiler command
CFLAGS=-O3 #Option d'optimisation du programme
LDFLAGS=-lSDL -lSDL_mixer #Linker
EXEC=nomProgramme  #Nom du programme à modifier

all: ${EXEC}

${EXEC}: ${EXEC}.o
       ${CPP} $(CFLAGS) -o ${EXEC} ${EXEC}.o ${LDFLAGS}

${EXEC}.o: ${EXEC}.c
       ${CPP} $(CFLAGS) -o ${EXEC}.o -c ${EXEC}.c

Ответы [ 3 ]

2 голосов
/ 11 января 2020

Вам не нужно (и не нужно) перемещать make-файл на /usr/bin.

Вы можете поместить его куда угодно, но все будет проще, если он находится в той же директории, что и ваш исходный код (nomProgramme.c).

1 голос
/ 11 января 2020

Вам нужно назвать свой Makefile Makefile. Чувствительно к регистру, обязательно проверьте орфографические ошибки и т. Д. c. Вы также должны находиться в том же каталоге, что и Makefile, когда вы запускаете make.

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

Вам также необходимо установить libsdl-mixer1.2-dev (sudo apt-get install libsdl-mixer1.2-dev и изменить EXEC=main обратно на EXEC=nomProgramme.

Вот ссылка на документацию по GNU make, которая дает краткий обзор, а затем очень подробное объяснение всего, что вы можете сделать с помощью GNU make: https://www.gnu.org/software/make/manual/make.html

0 голосов
/ 12 января 2020

для ответа на вопрос OP:

каталог /usr/bin не доступен для записи через пользователя (как и вы).

Однако, выполнение командной строки с префиксом sudo ( предоставив вам права доступа root), вы сможете писать в этот каталог.

Однако /usr/bin предназначен для исполняемых файлов, а Makefile_sdl НЕ является исполняемым файлом

Suggest сохранение этого файла «где-то» Затем, когда вы захотите использовать этот make-файл, скопируйте его в каталог, в котором находится ваш текущий проект (т.е. каталог, в котором вы хотите запустить make

Однако Makefile_sdl не является одним из стандартных имен файлов, распознаваемых make, поэтому должен запускаться make через:

make -f Makefile_sdl
...