Microsoft SDK 中Sample案例之Amcap項目 的运行方法(转)
http://blog.csdn.net/erick08/article/details/7194575
Microsoft SDK 中Sample之Amcap 的运行方法
写这篇文章的由衷是我想很多编程爱好者都可能会去尝试运行SDK的Sample,但微软提供的代码并不能直接编译,我开始发现运行报错时,还拙劣地以为是代码有误,竟然改动了少许代码,结果显然还是fail了。
网上查了很多关于编译失败的资料,有讲“无法解析的外部符号”,也有讲到具体代码中的类及头文件、库文件等等,下面讲下我最后成功的步骤。
注:如果中間遇到問題,請多多嘗試,最好先备份一下,请在原目录及原文件夹运行,以保持文件路径不变!
一、 我用的IDE是vs2008,系统是64位的,所以下载对应64位的Microsoft SDK并安装,我的是7.1版本。
二、 设置好IDE配置,工具——》选项——》项目和解决方案——》VC++目录
其中
把Micorsoft SDKs\Windows\v7.1\Include
Micorsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\common
添加进“包含文件”。

把Micorsoft SDKs\Windows\v7.1\Lib\x64
Micorsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug
Micorsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug_MBCS
Micorsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release
Micorsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release_MBCS
添加进“库文件”。
注:baseclasses\Debug等文件夹微软并不提供,需要我们自己打开baseclasses项目的解决方案进行编译(运行)才生成,我的做法是对Debug\Debug_MBCS\Release\Release__MBCS四种模式都进行编译(运行),之后再添加进库文件。

三、 设置项目属性,项目——》AmCap属性——》配置属性——》链接器——》输入
在“附加依赖项”中添加 Strmbase.lib/Strmbasd.lib winmm.lib Msacm32.lib
注:Strmbase.lib 是 bassclasses项目在Release 模式下生成的,Strmbasd.lib是Debug模式下生成的。

四、 现在可以正常运行AmCap了,得到的Exe文件只能在装有vs2008等工具下运行,为了可以脱离平台限制,设置如下:
项目——》AmCap属性——》配置属性——》C/C++——》代码生成
把运行时库设置为“多线程(/MT)”或“多线程调试(/MTd)”,此时
项目——》AmCap属性——》配置属性——》链接器——》输入
忽略特定库需对应添加为“libcmt.lib”或“libcmtd.lib”,
运行得到的可执行文件就与平台无关了。
Directshow\capture文件下的其他项目类似也可以正常运行,希望大家正常运行这些项目后有投入更大的兴趣去学习代码,增強信心。
Microsoft SDK 中Sample案例之Amcap項目 的运行方法(转)的更多相关文章
- 如何在版本控制工具中管理Sencha Architect的項目
根據數次痛苦的經歷結合stack overflow上的解答,發現原來還是可以使用svn.git之類的版本控制工具管理Sencha Architect生成的項目的. 具體的要點如下,假定項目記作{PRO ...
- 编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,最后再在主类E 的main方法中创建Print的对象并赋值,运行方法
package lianxi; public interface InterfaceA { void printCapitalLetter(); } package lianxi; public in ...
- 【TBarCode SDK教程】TBarCode SDK 如何在 Microsoft Office 中工作?
使用条形码软件组件 TBarCode SDK,你可以在 Microsoft Office 中快速且简便地创建各种条形码.都不需要任何编程的技巧,只需要点击几次鼠标就可以将TBarCode SDK集成到 ...
- Microsoft.Net中数字签名技术
概 述:本文以Microsoft.Net中创建签名的CAB文件为例,说明如何创建签名文件,从而使你的代码能够安全的在INTERNET上公布.希望能起到抛转引玉的作用. keyword:数字签名,Act ...
- 利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用
原文:利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV ...
- 通过一个生活中的案例场景,揭开并发包底层AQS的神秘面纱
本文导读 生活中案例场景介绍 联想到 AQS 到底是什么 AQS 的设计初衷 揭秘 AQS 底层实现 最后的总结 当你在学习某一个技能的时候,是否曾有过这样的感觉,就是同一个技能点学完了之后,过了一段 ...
- [nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)
:由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . ...
- [nRF51822] 3、 新年也来个总结——图解nRF51 SDK中的Button handling library和FIFO library
:本篇是我翻译并加入自己理解的nRF51 SDK中按钮相关操作的库和先进先出队列库.虽然是nRF51的SDK,但是通过此文你将更多地了解到在BSP(板级支持)上层嵌入式程序或OS的构建方法. 1.按钮 ...
- 如何解决Android SDK中离线文档打开慢的问题
原文:http://blog.csdn.net/hansel/article/details/39268511 Android SDK中的离线文档虽然都是本地文件,但是有很多Javascript, C ...
随机推荐
- 嵌入式中的 *(volatile unsigned int *)0x500 解释
C语言中*(volatile unsigned int *)0x500的解释: 如下: (unsigned int *)0x500:将地址0x500强制转化为int型指针*(unsigned int ...
- hdu 4255 A Famous Grid
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4255 A Famous Grid Description Mr. B has recently dis ...
- label swift
var label = UILabel(frame: CGRectMake(10, 20, 300, 100)) label.text = "<Swift语言实战入门>" ...
- PBOC电子钱包与电子现金及QPBOC
电子钱包:EP 电子现金:EC,在PBOC规范中的13部分定义了<基于借贷记应用的小额支付规范中> QPBOC:在PBOC规范的12部分中定义了<费接触式IC卡支付规范> PB ...
- “我爱淘”冲刺阶段Scrum站立会议3
完成任务: 将搜索框的界面已经实现以及部署到整个框架中. 计划任务: 实现搜索功能,通过数据库的链接,实现用户可以查到自己需要的书籍的信息. 遇到问题: 1.数据库的操作,怎么实现查询功能: 2.Ac ...
- Object常用方法
1.clone() 创建并返回对象的一个副本,要进行“克隆”的对象所属的类必须实现java.lang.Cloneable接口 2.equals() 功能:比较引用数据类型的等价性 等价标准:引用类型比 ...
- 文档对象模型(DOM)
文档对象模型(DOM) DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构.节点分为几种不同的类型:文档型节点.元素节点.特性节点.注释节点等共有12种节点类型.DOM1级定义了 ...
- 使用JavaScript+Html创建win8应用(二)
向我们的应用中添加JavaScript 的 Windows 库控件,首先我们接着上一个demo把一个评分控件添加进来 与 HTML 控件不同的是,适用于 JavaScript 的 Windows 库控 ...
- Grails 1.2参考文档速读(10):Controller
转载:http://keyvalue.blog.51cto.com/1475446/303260 从本篇起,我们将开始进入Grails的Web层,首先让我们从Controller说起. G ...
- [原创] zabbix学习之旅五:如何快速搭建一个报警系统
通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序 ...