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 位库,所以我不确定这是否是一个问题。
正确的方法是在链接器选项中使用 sdl2main
和 sdl2
而不是过时的 sdlmain
和 sdl
。 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 标志都应该有效。
我刚开始使用 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 位库,所以我不确定这是否是一个问题。
正确的方法是在链接器选项中使用 sdl2main
和 sdl2
而不是过时的 sdlmain
和 sdl
。 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 标志都应该有效。