2015-04-01 95 views
0

我刚刚开始使用Lazy Foo的教程与SDL2搞混,我遇到了一些问题。建设当我得到两个错误:SDL2 - 找不到lsdlmain和lsdl。代码块

找不到的LSD1

不能lsdlmain

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

回答

1

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

+0

哦不,他更新了他的SDL2教程。 http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/index.php – Ryncops 2015-04-01 08:47:19

+0

@Ryncops你有没有按照[步骤6](http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/ index.php#6)正确吗? _去链接器设置和粘贴-lmingw32 -lSDL2main -lSDL2_ – gurka 2015-04-01 09:20:11

+0

@gurka是的,我做了如图所示的一切。它完全链接到lsdl2main和lsdl2 – Ryncops 2015-04-01 09:32:01

1

这个问题已经过去了一年,但我希望这仍然有助于有人努力寻找答案。如果您在代码块中关注Lazy Foo的“设置SDL”教程,则可能意外通过Google打开了他的旧教程。 http://lazyfoo.net/SDL_tutorials/而不是http://lazyfoo.net/tutorials/SDL/它有更新的说明。

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

只需检查您的全局编译器的链接器或生成选项的链接器设置是否正确。在任何一个设置-lSDL2main -lSDL2标志都应该工作。