0

我正在尝试编译此代码:

#include "SDL/SDL.h"

int main(void) {

    SDL_Surface *Hello = NULL;
    SDL_Surface *Screen = NULL;

    SDL_Init( SDL_INIT_EVERYTHING );

    return 0;
}

但碰巧编译器说:

对 SDL_Init 的未定义引用

我不知道为什么会这样。我正在使用 Debian Mint 和 Code::Blocks。你可以帮帮我吗?

4

2 回答 2

3

看起来你还没有进入-lSDL你的链接行。

sdl-config返回 SDL 安装的编译和链接标志。

假设程序是sdl.cpp

g++ -o sdl `sdl-config --cflags` sdl.cpp `sdl-config --libs`

应该给你正确的标志。

于 2013-07-26T16:58:19.693 回答
0

转到项目,然后构建选项并选择您的项目名称。

现在转到linker设置并在文本框中键入以下行Other Linker options

-lSDLmain
-lSDL

SDL还需要主函数中的命令行参数,所以你应该改变

int main(void)

int main(int argc, char **argv)

现在编译您的项目,它应该可以工作。

于 2013-07-28T17:30:33.847 回答