使用CLion的C ++中的PlaySound

问题描述

我正在尝试制作一个简单的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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...