问题描述
我正在尝试制作一个简单的C ++程序来播放音乐,但出现此错误。
undefined reference to __imp_PlaySoundA'
从我的阅读中发现,我没有实现PlaySound的任何源代码。我知道我应该在链接器中添加对winmm.lib的引用,但是我只在VisualStudio中找到了实现方法。有没有办法在CLion中做到这一点?我什至不确定CLion是否有类似的东西。
#include <iostream>
#include <windows.h>
int main() {
PlaySound("file_name.mp3",nullptr,SND_FILENAME | SND_ASYNC);
return 0;
}
这没有帮助:
What is an undefined reference/unresolved external symbol error and how do I fix it?
解决方法
我已经解决了它,您需要将winMM.Lib添加到CMake文件中。再加上文件不能是.mp3,而是.wav(也许还有一些,我没有尝试)。
# Link to GLFW,GLEW and OpenGL
target_link_libraries(template PUBLIC
${GLFW_LIBRARIES}
${GLEW_LIBRARIES}
${OPENGL_LIBRARIES}
winMM.Lib)