私は、CLion IDE(mingw-w64、CMake)を使って簡単なSDLアプリケーションを実行しようとしています。CMakeとSDL2ライブラリをリンクする
この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