You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Clion调用PlaySound出现undefined reference to '__imp_PlaySoundA'报错如何解决

CLion 调用 PlaySound() 报 __imp_PlaySoundA 未定义的解决方案

报错原因

你之前的两种方案失效有两个核心诱因:

  • #pragma comment(lib,"winmm.lib") 是微软MSVC编译器的专属链接指令,CLion默认使用的MinGW/GCC编译器完全不识别该语法,因此不会生效
  • 你配置的 link_directories 指向Matlab自带的lcc64库路径,和CLion当前使用的编译工具链架构不匹配,无法找到正确的winmm库文件

正确操作步骤

1. 清理代码中的无效配置

保留必要头文件即可,删除MSVC专属的编译指示,代码示例:

#include <windows.h>
#include <mmsystem.h>

2. 修改CMakeLists.txt配置

删除你之前添加的错误link_directories配置,修改target_link_libraries配置项,直接链接MinGW自带的winmm库:

# Link to required libraries
target_link_libraries(template PUBLIC
        ${GLFW_LIBRARIES}
        ${GLEW_LIBRARIES}
        ${OPENGL_LIBRARIES}
        winmm
)

注意:MinGW下链接系统库不需要加.lib后缀,编译器会自动匹配对应架构的库文件

3. 重新构建项目

修改完CMake配置后,点击CLion右上角的重新加载CMake项目按钮,清空之前的构建缓存后重新编译即可解决报错。

额外排查项

如果修改后仍有报错,可以按以下方向排查:

  • 若你使用的是MSVC工具链而非MinGW,需要确认已安装对应版本的Windows SDK,且系统库路径中包含winmm.lib
  • 确认编译目标的架构(32位/64位)和库文件架构一致,不要交叉混用

内容的提问来源于stack exchange,提问作者Race

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:57:00