Я пытаюсь получить простое приложение SDL, работающее с использованием CLion IDE (mingw-w64, CMake).Связывание библиотек 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 предоставляет libs с именем 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