2015-01-08 18 views
2

我將使用MinGW g ++編譯器(使用控制檯)從LazyFoo的C++ SDL2教程中脫離出來。我一直按照他的頁面here,一步一步地。下載他的例子後,我終於遇到了這個錯誤。MinGW「對IMG_Load/IMG_Init/IMG_Quit的未定義參考」LazyFoo

enter image description here

我看到過很多這樣的人SDL_Image線上掙扎,但我還沒有看到這一點,我還沒有找到任何解決它。

  • 我已經加載了包括與適當的資產的lib文件夾
  • 我複製了所有必需的.dll文件對我的編譯目的地
  • LazyFoo提供的示例包括SDL_Image和SDL本身

(這個問題我的聲音多餘的,但我還沒有遇到適用於控制檯的編譯的解決方案)

+2

你有沒有實際安裝的SDL_image庫?庫文件(libSDL_image.a)位於何處? – davmac

+0

我只是做了一個搜索,我甚至沒有'libSDL_image.a,所以很明顯,我沒有正確(或根本)沒有安裝它。 (我從https://www.libsdl.org/projects/SDL_image/獲得了我現在擁有的所有東西) – Luft

+0

可能的重複[什麼是未定義的引用/未解析的外部符號錯誤,以及如何解決?](http:/ /stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-doi-i-fix) –

回答

1

根據以上註釋,答案似乎如下:

您需要安裝SDL_image的開發庫。

你可以在這裏下載它們:https://www.libsdl.org/projects/SDL_image/ (看標題「開發庫」)。

您需要確保libSDL2_image.a文件所在的路徑位於鏈接程序搜索路徑中。這樣做的一種方法是在鏈接命令中添加適當的-L參數。您也可以將文件放在默認庫搜索路徑中。

+1

我已經安裝了SDL_image的開發庫。我在SDL中看到該文件,但IMG_Init不起作用 – moldovean