我想要使用CLion IDE(mingw-w64,CMake)運行一個簡單的SDL應用程序。將SDL2庫鏈接到CMake
在此question它說爲了使SDL2與mingw一起工作,它將鏈接下列庫。
-lmingw32 -lSDL2main -lSDL2 -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid
我知道前3個是什麼,以及如何使用CMake查找和鏈接它們。我不知道如何包含其餘的庫,因爲我不知道它們位於何處或如何訪問它們。
此外,libSDL2
和lSDL2
之間是否有區別? SDL提供名爲libSDL2.a
的庫,但我經常在示例中看到它是拼寫爲lSDL2的。
爲什麼lazyfoo tutorials說你只需要lmingw32
,lSDL2main
和lSDL2
?這是我目前在CMake鏈接,但我得到未定義的參考,如
SDL_windowskeyboard.c:617: undefined reference to `ImmGetIMEFileNameA'
哦,哇。我只是添加它們。這些被引用如何?它們位於Windows的什麼位置? target_link_libraries(Dark_Knights $ {MINGW32_LIBRARY} $ {SDL_MAIN_LIBRARY} $ {} SDL_LIBRARY -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid) – ShrimpCrackers
你嘗試使用'find_package(SDL)'爲了你的目的?通常,使用'find_package()'方法比手動列出庫更容易。 – Tsyvarev