我目前正在做一些C编程,我实际上想要使用SDL库.我想在Linux上用C语言构建一个小型2D游戏,以提高我的技能.
我的问题是我不是Linux超级用户的超级Makefile用户或库,我只是在项目上配置一次就是这样.
所以我在UBUNTU 14.04上编译SDL2程序时遇到了一些麻烦.
我从http://www.libsdl.org/download-2.0.php下载了最新的SDL库
然后我用默认步骤安装它:
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
之后我可以看到/ usr/include/SDL2中有一些东西,所以我猜它已经安装好了.
#include <stdlib.h>
#include <stdio.h>
#include <SDL2/SDL.h>
int main(int argc, char *argv[])
{
printf(“SDL test\n”);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
因为我还在学习Makefiles和SDL,所以我没想到它.
但我发现这个Makefile可以编译旧的SDL而不是SDL2
CPP=gcc
CFLAGS=-O3
LDFLAGS=-lSDL -lSDL_mixer #Linker
EXEC=test
all: ${EXEC}
${EXEC}: ${EXEC}.o
${CPP} $(CFLAGS) -o ${EXEC} ${EXEC}.o ${LDFLAGS}
${EXEC}.o: ${EXEC}.c
${CPP} $(CFLAGS) -o ${EXEC}.o -c ${EXEC}.c
clean:
rm -fr *.o
mrproper: clean
rm -fr ${EXEC}
Run Code Online (Sandbox Code Playgroud)
但是这个Makefile对我不起作用,它说它不知道lSDL_Mixer和其他东西.
如何使用Makefiles和vim编辑器构建可运行的Makefile以使用SDL2编译C程序.
在此先感谢您的帮助