Ich versuche, eine einfache SDL-App mit CLion IDE (mingw-w64, CMake) laufen zu lassen.Verlinken von SDL2-Bibliotheken mit CMake
In diesem question heißt es, die folgenden Bibliotheken zu verknüpfen, um SDL2 mit mingw arbeiten zu lassen.
-lmingw32 -lSDL2main -lSDL2 -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid
Ich weiß, was die ersten 3 sind und wie Sie sie finden und mit CMake verknüpfen. Ich habe keine Ahnung, wie ich den Rest der Bibliotheken einbinden soll, weil ich nicht weiß, wo sie sich befinden oder wie man auf sie zugreifen kann.
Gibt es auch einen Unterschied zwischen libSDL2
und lSDL2
? SDL stellt libs mit dem Namen libSDL2.a
zur Verfügung, aber ich sehe immer in Beispielen, dass es lSDL2 geschrieben wird.
Warum die lazyfoo tutorials sagen Sie nur lmingw32
, lSDL2main
und lSDL2
müssen? Es ist, was ich zur Zeit in CMake bin verbinden, aber ich bin immer undefiniert Verweise auf Dinge wie
SDL_windowskeyboard.c:617: undefined reference to `ImmGetIMEFileNameA'
Oh, wow. Ich füge sie einfach so hinzu wie es ist. Wie werden diese referenziert? Wo befinden sie sich unter Windows? target_link_libraries (Dark_Knights $ {MINGW32_LIBRARY} $ {SDL_MAIN_LIBRARY} $ {} SDL_LIBRARY -Im -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid) – ShrimpCrackers
Haben Sie versucht, zu verwenden, 'find_package (SDL)' für Ihre Zwecke? Normalerweise ist es einfacher, mit 'find_package()' zu arbeiten, als manuell Bibliotheken aufzulisten. – Tsyvarev