2015-04-01 94 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標誌都應該工作。