使用CMake将winmm.lib链接到CLion

问题描述

我正在尝试在C ++项目中播放音乐,但是却出现未定义的参考错误。我知道这里已经回答了,但这对我没有帮助:

What is an undefined reference/unresolved external symbol error and how do I fix it?

我知道如何通过在链接器中添加对winmm.lib的引用来在Visual Studio中进行修复。有没有办法在CLion中做到这一点?我尝试将其添加到CMake列表中,但仍然无法正常工作,因为我真的不知道该怎么做。

# Path to WinMM.Lib
link_directories(C:\\Program Files \(x86\)\\Windows Kits\\10\\Lib\\10.0.18362.0\\um\\x64)

# Link to GLFW,GLEW and OpenGL
target_link_libraries(template PUBLIC
        ${GLFW_LIBRARIES}
        ${GLEW_LIBRARIES}
        ${OPENGL_LIBRARIES}
        ${winMM.Lib})

解决方法

正如@arrowd所说,winMM不是变量,因此CMake文件应如下所示。

# Link to GLFW,GLEW and OpenGL
target_link_libraries(template PUBLIC
        ${GLFW_LIBRARIES}
        ${GLEW_LIBRARIES}
        ${OPENGL_LIBRARIES}
        winMM.Lib)