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項目 的运行方法(转)的更多相关文章

  1. 如何在版本控制工具中管理Sencha Architect的項目

    根據數次痛苦的經歷結合stack overflow上的解答,發現原來還是可以使用svn.git之類的版本控制工具管理Sencha Architect生成的項目的. 具體的要點如下,假定項目記作{PRO ...

  2. 编写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 ...

  3. 【TBarCode SDK教程】TBarCode SDK 如何在 Microsoft Office 中工作?

    使用条形码软件组件 TBarCode SDK,你可以在 Microsoft Office 中快速且简便地创建各种条形码.都不需要任何编程的技巧,只需要点击几次鼠标就可以将TBarCode SDK集成到 ...

  4. Microsoft.Net中数字签名技术

    概 述:本文以Microsoft.Net中创建签名的CAB文件为例,说明如何创建签名文件,从而使你的代码能够安全的在INTERNET上公布.希望能起到抛转引玉的作用. keyword:数字签名,Act ...

  5. 利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV ...

  6. 通过一个生活中的案例场景,揭开并发包底层AQS的神秘面纱

    本文导读 生活中案例场景介绍 联想到 AQS 到底是什么 AQS 的设计初衷 揭秘 AQS 底层实现 最后的总结 当你在学习某一个技能的时候,是否曾有过这样的感觉,就是同一个技能点学完了之后,过了一段 ...

  7. [nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)

    :由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . ...

  8. [nRF51822] 3、 新年也来个总结——图解nRF51 SDK中的Button handling library和FIFO library

    :本篇是我翻译并加入自己理解的nRF51 SDK中按钮相关操作的库和先进先出队列库.虽然是nRF51的SDK,但是通过此文你将更多地了解到在BSP(板级支持)上层嵌入式程序或OS的构建方法. 1.按钮 ...

  9. 如何解决Android SDK中离线文档打开慢的问题

    原文:http://blog.csdn.net/hansel/article/details/39268511 Android SDK中的离线文档虽然都是本地文件,但是有很多Javascript, C ...

随机推荐

  1. Ubuntu下编译内核

    一.下载源代码和编译软件的准备 下载内核源代码:http://www.kernel.org/ 注意,点击2.6.25内核的F版,即完整版. 如果你懒得去网站点联接,运行下列命令:  代码: $cd ~ ...

  2. net-snmp的安装

    安装环境是ubuntu 14. 方法1:apt-get install  net-snmp (非root用户需要sudo 提升权限) 方法2:自定义安装选择不同的版本去编译. 1:先去下载所需要的ta ...

  3. win10里安装.net3.5

    在CMD窗口里面输入这样一段,来安装Microsoft.MET Framework 3.5 Dism /online /enable-feature /featurename:NetFX3 /All ...

  4. 查看BADI有哪些实现

    TCODE:SE18

  5. 容器适配器之queue

    转载http://blog.csdn.net/thefutureisour/article/details/7751846容器适配器容器适配器其实就是一个接口转换装置,使得我们能用特定的方法去操作一些 ...

  6. Windows Live Writer教程及代码高亮工具

    十分感谢六仙庵对于Windows Live Writer的教程,方便了编辑与发布,教程地址如下: http://www.cnblogs.com/liuxianan/archive/2013/04/13 ...

  7. 团队开发NABC特点

    一.软件特点 我们所设计的躲避小球游戏,能够防止用户沉迷,且不会使用户有挫败感,失去玩游戏的兴趣. 二.进行NABC分析 N:我们适应于用户对娱乐.打发时间需求 A:我们用图形界面实现 B:此游戏适用 ...

  8. 怎么将java项目打包成双击就可以运行的jar包---fatjar

    fatjar下载地址:http://pan.baidu.com/s/1cQ01o 下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹 ...

  9. 【First Missing Positive】cpp

    题目: Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2 ...

  10. 深入浅出谈4G ─ 4G LTE网速到底有多快?

    常说4G网速能达100MHz,实际感受远远没有这么快.今天和大家一起算算帐,算算4G LTE网速到底有多快. 基本概念1:资源粒子 个资源粒子就是用个子载波传送个OFDM符号. 1个子载波的带宽是15 ...