对SDL_Init(CodeBlocks)的未定义引用

def*_*tor 5 codeblocks sdl-2

我想自学SDL,但在第一次尝试时我遇到了非常不愉快的问题.我做了一些研究,发现我首先需要让CodeBlocks知道库所在的位置.首先,我有64字节的操作系统.

正如我读到的那样,我把东西放进去:

项目 - >链接器设置(指向.dll文件的直接链接,我当然选择了x64),以及"其他链接器选项"中的"-lmingw32 -lSDL2main -lSDL2".这个让我感到困惑,但用64替换32会产生另一个错误,所以我保持这种方式.

项目 - >搜索目录:

-> Compiler: link to /include folder with header files
-> Linker: link to /lib folder with .dll files
Run Code Online (Sandbox Code Playgroud)

我还确保在单击项目本身并选择"构建选项"后可以看到这些内容.

我忘记了什么吗?

aso*_*aso 0

您必须拥有“兼容”版本的库和编译器 - 我的意思是架构,32 或 64 位。我发现您使用 MinGW 32 位,因此始终使用 32 位 SDL 库。

这是关于选择 SDL 库的版本。至于您的主要问题,您是否正确遵循了在 CodeBlocks 中配置 SDL2 的所有步骤?

  1. 搜索目录 > 编译器 > /include
  2. 搜索目录 > 链接器 > /lib (此文件夹应该有 .lib 文件,而不是 .dlls
  3. 链接器设置 > 其他链接器选项:-lmingw32 -lSDL2main -lSDL2

(图解 - 我认为互联网上最好的 - 教程就在这里

不要设置 DLL 文件的直接路径。如果您没有.lib文件,可能是您从 SDL 站点下载了错误的软件包。