devC++添加背景音乐解决方法 undefined reference to `__imp_mciSendStringA‘

起因是在做小游戏的时候想给游戏添个音乐,但是dev资料比较凌乱,我尝试了一般的方法没有成功,最后综合了很多方法一起使用最后可以成功运行。

如图:

选种项目里左上角的黄色盾牌,点击打开选择参数,然后在链接的框框里输入(那个easyx不是,是我的绘图),这一步目的是连接dev的库。

-lwinmm

然后很关键的是加入音乐的库

#include <mmsystem.h>

下一步就是带入你的音乐,这个gamover.wav是我的音乐文件(被我放在项目同一个文件夹里所以我用的相对路径,你们用的时候可以选择绝对路径),这个格式只针对wave,mp3音乐文件应该是另一种写法。 

mciSendString(TEXT("play gameover.wav"),NULL,0,NULL);

到这一步是网上大部分资料所教的,但是事实上我到这一步根本没能运行音乐,我就开始翻找库的问题,也就是winmm是否出错。

然后我就发现dev和VS(visual stdio)不一样,vs的引用这个winmm是lib后缀的,但是dev里从mingw找进去应该是.a后缀的winmm文件。

如图:

所以那么奇怪的就来了,哪怕我把这个文件直接复制到了MingGW的lib文件夹下,还是没能运行音乐,而电脑一直报错诸如:

 D:\c语言代码\final_1\test.c    undefined reference to `__imp_mciSendStringA'

然后我就选择继续查资料,就发现有博主解答应该在这里也添加路径

也就是后面两条

-lgdi32 -lwinmm

这样就可以成功运行啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值