在Linux SDL库(SDL library in linux)

2019-10-29 20:25发布

我试图编译这段代码:

#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薄荷和Code :: Blocks的。 你可以帮帮我吗?

Answer 1:

它看起来像你没有-lSDL你的链接线。

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

假设程序是sdl.cpp

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

应该给你正确的标志。



Answer 2:

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

现在去linker设置,键入以下行Other Linker options文本框:

-lSDLmain
-lSDL

SDL也需要命令行参数的主要功能,所以你应该改变

int main(void)

int main(int argc, char **argv)

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



文章来源: SDL library in linux