从C程序链接SDL

时间:2013-03-10 19:20:29

标签: c sdl

我有一个非常简单的C程序taken from the SDL documentation

#include <stdlib.h>
#include "SDL.h"

int main() {
    if (SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0) {
        return EXIT_FAILURE;
    }
    atexit(SDL_Quit);
    return EXIT_SUCCESS;
}

我正在使用sdl-config --cflags --libs为clang提供参数。它能够链接到SDL标头,但无法链接到SDL库:

/tmp/example-f2Tgg6.o: In function `main':
example.c:7: undefined reference to `SDL_Init'
example.c:8: undefined reference to `SDL_Quit'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试用gcc编译并得到同样的问题,所以我觉得我错过了一些明显的东西。我正在运行xubuntu 11.10,以防相关。

2 个答案:

答案 0 :(得分:0)

尝试安装库。像sudo apt-get install libsdl1.2-dev libsdl1.2debian

这样的东西

答案 1 :(得分:0)

首先,您可以使用pkg-config找出正确的标记,如here所示。

然后,您可以使用apt-file和Google通过apt找出您需要安装的软件包。在这种情况下,请查看libsdl-* - 您可能需要基础包和-dev包。