Linux 中的 SDL 库

问题描述 投票:0回答:2

我正在尝试编译此代码:

#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。你能帮我吗?

c++ linux sdl
2个回答
3
投票

您的链接线路上似乎没有

-lSDL

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

假设程序是

sdl.cpp

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

应该给你正确的标志。


0
投票

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

现在转到

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

-lSDLmain
-lSDL

SDL
还需要主函数中的命令行参数,因此您应该更改

int main(void)

int main(int argc, char **argv)

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

© www.soinside.com 2019 - 2024. All rights reserved.