我想要使用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