SDL2 - 找不到 lsdlmain 和 lsdl。代码块

SDL2 - cannot find lsdlmain and lsdl. Codeblocks

我刚开始使用 Lazy Foo 的教程玩弄 SDL2,但遇到了一些问题。构建时出现两个错误:

找不到 lsdl

找不到 lsdlmain

现在...当然找不到它们,因为它们不在我链接的 lib 文件夹中。我只有 lsdl2main 和 lsdl2。我把 SDL2.dll 放在我的项目文件夹中,并按照 Lazy Foo 所说的做了所有事情,但我仍然有这个问题。我确实设法通过从 lib 文件夹复制 lsdl2 和 lsdl2main 并将它们更改为 lsdl 和 lsdlmain 来绕过这个问题。现在我同时拥有 lsdl/lsdlmain 和 lsdl2/lsdlmain ... 即使它们是相同的库。我不认为这是好的,这就是我问这个问题的原因。解决这个问题的正确方法是什么?我在 lazy foo 上读到一些关于编译器在 64 位上选择 32 位库的信息,但我使用的是 32 位文件夹中的 32 位库,所以我不确定这是否是一个问题。

正确的方法是在链接器选项中使用 sdl2mainsdl2 而不是过时的 sdlmainsdl。 Lazy Foo 的教程已经过时,如果您打算使用 SDL2 而不是 SDL 1.x(教程所基于的版本),显然需要进行一些更正。

这个问题已经有一年了,但我希望这仍然能帮助那些正在努力寻找答案的人。如果您在 Code Blocks 上关注 Lazy Foo 的教程 "setting up SDL",您可能不小心通过 Google 打开了他的旧教程。 http://lazyfoo.net/SDL_tutorials/ instead of http://lazyfoo.net/tutorials/SDL/ 其中有更新的说明。

他的旧版本显示您必须在 Settings> Compiler.. > Linker Settings 下的 Global Compiler 的链接器上填写 -lsdl 和 -lsdlmain。然后您以某种方式打开了他的新教程,该教程向您展示了在 Build 选项的链接器下填充 -lSDL2main -lSDL2。

只需检查您的 Global Compiler 的链接器或您的 Build Option 的链接器设置是否正确。在任何一个上设置 -lSDL2main -lSDL2 标志都应该有效。