SDL 2.0.1 Linux使编译错误

时间:2013-10-31 07:36:24

标签: linux gcc makefile sdl

我正在尝试编译最新版本的SDL,SDL版本2.0.1。我尝试从Mercurial编译SDL。使用以下消息执行./configure时,一切似乎都很好:

checking for working volatile... no
checking for GCC -MMD -MT option... no
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking stdio.h usability... no
checking stdio.h presence... no
checking for stdio.h... no
checking for stdlib.h... (cached) yes
checking stddef.h usability... no
checking stddef.h presence... no
checking for stddef.h... no
checking stdarg.h usability... no
checking stdarg.h presence... no
checking for stdarg.h... no
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking for memory.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking ctype.h usability... no
checking ctype.h presence... no
.
.
.
.
checking dbus/dbus.h usability... no
checking dbus/dbus.h presence... no
checking for dbus/dbus.h... no
checking for Linux 2.4 unified input interface... no
checking for Linux kd.h... no
checking for Touchscreen library support... no
config.status: creating SDL2.spec
config.status: creating sdl2.pc
config.status: creating include/SDL_config.h
config.status: executing libtool commands

我在./configure中收到了大量的no。当我尝试运行make时会显示以下消息:

Makefile:226: *** missing separator.  Stop.

消息背后的原因是什么?有谁知道修复?

2 个答案:

答案 0 :(得分:3)

我只有完全相同的问题(对于发球台),这对我有用。

我将未压缩的文件夹放入另一个文件夹中,其名称中有一个空格,在我的例子中是一个名为" SDL 2.0"的文件夹。当使用configure命令时,它导致它将make文件中的文件位置分成两行,首先出现在第226行。为了解决这个问题,我用一个下划线重命名了有问题的文件夹,所以" SDL_2.0& #34 ;.然后我再次使用configure命令,之后更新的make文件工作。

TLDR:在文件名中使用下划线而不是空格。

答案 1 :(得分:1)

我遇到了同样的问题,这对我有用:

在安装SDL之前安装以下库:

sudo apt-get install build-essential mercurial make cmake autoconf
automake \
libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \
libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev \
libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev

之后,您可以正常运行./configuremakemake install。 注意:我从SDL源代码附带的README.txt文件中获取所有这些信息,因此您需要习惯在尝试任何操作之前读取这些文件。我希望它有所帮助。