Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SDL2库与CMake链接_Cmake_Sdl 2_Mingw W64 - Fatal编程技术网

将SDL2库与CMake链接

将SDL2库与CMake链接,cmake,sdl-2,mingw-w64,Cmake,Sdl 2,Mingw W64,我正在尝试使用CLion IDE(mingw-w64,CMake)运行一个简单的SDL应用程序 在本文中,它表示要链接以下库,以便让SDL2与mingw一起工作 -lmingw32 -lSDL2main -lSDL2 -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid 我知道前3个是什么,以及如何使用CMake查找和链接它们。

我正在尝试使用CLion IDE(mingw-w64,CMake)运行一个简单的SDL应用程序

在本文中,它表示要链接以下库,以便让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
的libs,但我总是在示例中看到它拼写为lSDL2

为什么说您只需要
lmingw32
lSDL2main
lSDL2
?这是我目前在CMake中链接的内容,但是我得到了一些未定义的引用,比如

SDL_windowskeyboard.c:617: undefined reference to `ImmGetIMEFileNameA'

解决方案是按原样添加库。我的例子是:


target\u link\u libraries(黑暗骑士${MINGW32\u LIBRARY}${SDL\u MAIN\u LIBRARY}${SDL\u LIBRARY}-lm-ldinput8-ldxguid-ldxerr8-luser32-lgdi32-lwinmm-limm32-lole32-loleaut32-lshell32-lversion-luuid)
解决方案是按原样添加库。我的例子是:


target\u link\u libraries(黑暗骑士${MINGW32\u LIBRARY}${SDL\u MAIN\u LIBRARY}${SDL\u LIBRARY}-lm-ldinput8-ldxguid-ldxerr8-luser32-lgdi32-lwinmm-limm32-lole32-loleaut32-lshell32-lversion-luuid)
噢,哇。我只是按原样添加它们。这些是如何被引用的?它们在窗户上的什么位置?目标链接库(黑暗骑士${MINGW32_库}${SDL_主库}${SDL_库}-lm-ldinput8-ldxguid-ldxerr8-luser32-lgdi32-lwinmm-limm32-lole32-loleaut32-lshell32-lversion-luuid)您是否尝试使用
查找包(SDL)
?通常,使用
find_package()
的方法比手动列出库更容易。噢,哇。我只是按原样添加它们。这些是如何被引用的?它们在窗户上的什么位置?目标链接库(黑暗骑士${MINGW32_库}${SDL_主库}${SDL_库}-lm-ldinput8-ldxguid-ldxerr8-luser32-lgdi32-lwinmm-limm32-lole32-loleaut32-lshell32-lversion-luuid)您是否尝试使用
查找包(SDL)
?通常,使用
find_package()
的方法比手动列出库更容易。