我正在尝试使用CLion IDE(mingw-w64,CMake)运行一个简单的SDL应用程序。
在此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'
答案 0 :(得分:0)
解决方案是按原样添加库。我的例子是:
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)