最近在Window程序设计第五版,刚看到第三章,第三章中有一个程序调用了一个多媒体对象库winmm.lib库,由于该库不再默认项目中,如果不手动添加,编译时会提示错误而无法运行,但是书上用的是Visual C++编译器,我使用的是VS2012,这就让我不知道如何按照书上的方法添加库文件了,鼓捣了好大一会儿,才搞定了这个库文件的添加,额……记录一下,希望别人遇到这个问题了,可以快速解决:

在将代码敲入到VS2012后,Ctrl+F5运行后提示如下错误:

无法解析的外部命令,这里是PlaySound函数需要调用一个库函数WINMM.LIB库函数。解决方法如下,不过说方法之前,先推荐大家一个软件EveryThing,起初我解决这个问题是想在电脑里找到WINMM.LIB这个库函数,然后将其完整路径写入的,而我又不知道这个库文件在哪儿,于是用win7自带的搜索工具搜索了整个电脑硬盘,谁知道那个叫慢,伤心欲绝啊。有人推荐使用everything这个软件,于是下载了个,结果搜索电脑上的东西基本上秒杀,太cool了!大家google一下就能找到这个软件。不过解决现在当前这个问题似乎用不着这个工具了,哦,看下面步骤:

第一步:项目—工程属性,我这儿选择Chapter003属性,当然你可以在解决方案资源管理器中选择对应项目鼠标右键选择属性,进入第二步界面

第二步界面如下:

如图依次1,2,3在第4中加入这个库文件即可,也就是加入winmm.lib文件即可,最后别忘记加上分号。然后确定就ok了。

在此编译程序,ok运行,声音也出来了,如果没有正常运行,看看你的程序目录是否为下图:

另外这个音频文件的名字不要在程序中写错了,一定要一模一样(当然不能少了后缀)。

Windows程序设计之Hello,Windows 98程序的声音调试记录的更多相关文章

  1. Windows程序设计_19_测试Windows应用程序加载函数

    /* 本程序测试自定义的WinMainCRTStartup函数 */ #define STRICT #define WIN32_LEAN_AND_MEAN #include <windows.h ...

  2. windows程序设计 新建一个提示框程序

    1.鼠标右键项目名称,添加->新建项目. 2.选择.cpp,将文件名改成.c文件.点击添加. 3.在.c文件里面输入代码. #include <windows.h> //hInsta ...

  3. 摩托罗拉SE4500 德州仪器TI Omap37xx/AM3715/DM3730/AM3530 wince6.0/Windows Mobile 6.5平台 二维软解调试记录及相关解释

    现在安卓大行其道,不是高通,就是MTK,甚至于很多人不知道还有德州仪器这个平台了,关于如何在德州仪器Omap37xx平台上调试SE4500,网络上除了针对SE4500的几个pdf文档介绍之外,没有任何 ...

  4. Windows程序设计:格式化对话框的设计

    刚开始学习Windows程序设计,磕磕碰碰,先做个小笔记缓缓神经,主要是将MessageBox这个Windows API函数的. MessageBox函数是许多人刚开始学习Windows程序设计或者是 ...

  5. windows程序设计.第一个windos程序

    Windows程序设计(第5版) windows程序需要调用API. 第一个Windows程序 /*HelloMsg.c -- Displays "Hello World!" in ...

  6. Windows程序设计学习笔记(1):一个简单的windows程序

    <Windows程序设计>(第五版)(美Charles Petzold著) #include<windows.h> LRESULT CALLBACK WndProc(HWND, ...

  7. 关于《Windows程序设计(第五版)》中一个实例程序的疑问

    最近一直在看Charlse Petzold的<Windows程序设计>,作为一个新得不能再新的新手,只能先照着书的抄抄源码了,之前的例子一直都很正常,但昨天遇到一个很诡异的BUG. 先看实 ...

  8. Windows程序设计画图实现哆啦A梦

    在看雪论坛上看到的一个帖子,很喜欢,转载一下.原文地址:http://bbs.pediy.com/showthread.php?t=138630哆啦A梦是画出来的,不知道作者算这些坐标位置算了多久,真 ...

  9. Windows 程序设计

    一.Win32 API /******************************************************************** created: 2014/04/1 ...

随机推荐

  1. Spring-MongoDB简单操作

    1.简单的配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...

  2. Oracle 版本历史

    1.数据库在项目开发里面,大多数都使用Oracle,什么8i,9i,10G,11g等,一直认为数据库版本的升级对于开发一个系统的开发人员来书,不是什么重要的事,我仅仅关注数据库的表结构以及存储过程或者 ...

  3. Socket网络编程例子

    1.为了安全的进行通信,基于ACK确认机制----重传机制 使用selector机制的多路复用的IO通信机制,此外还有epoll控制 业务挂接点或者接入点: 常见的接入点: RDBMS进行CRUD M ...

  4. php不使用copy()函数复制文件的方法

    本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下:下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <?php funct ...

  5. struts2常用的常量constant

    常用的常量配置  struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为fa ...

  6. 配置Git Extension免密码发布代码到CSDN

    配置Git Extension免密码发布代码到CSDN [本文默认大家安装了Git以及Git Extension] 今天花费了许多的时间处理这个问题,希望能给大家节约时间.闲话少说:使用ssh验证来p ...

  7. linux中ll和du的区别

    首先,明确一个概念,linux中目录其实也是一个文件,它存储了一张表,该表就是该目录文件下,所有文件名和inode的映射关系. 其中inode和数据块block的关系http://c.bianchen ...

  8. 在.net中序列化读写xml方法

    收集XML的写法 XML是一种很常见的数据保存方式,我经常用它来保存一些数据,或者是一些配置参数. 使用C#,我们可以借助.net framework提供的很多API来读取或者创建修改这些XML, 然 ...

  9. Linux:系统的密码忘记了,登录不上

    可先通过进入单用户模式,修改下密码再登录记录. 第一步: 重启系统,在进入系统之前不断的按键盘左上角的“Esc”键,会进入如下页面: 然后按e进入编辑页面 第二步: 进入如下页面后,通过键盘的上下方向 ...

  10. PHP超时处理全面总结(转)

    [ 概述 ] 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景: 1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 2. 为了保证Web服务器不会因为当个页面 ...