前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vc中关于 directx的配置,和dxsdk_extras(directshow)

vc中关于 directx的配置,和dxsdk_extras(directshow)

作者头像
全栈程序员站长
发布2021-12-15 08:52:48
8330
发布2021-12-15 08:52:48
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

2009-11-10 0:28

此文章:自己编写 转载于《汤姆&杰瑞》

DirectShow 1 —— 下载与VC配置

1 DirectX SDK9

Directshow sdk 下载网址 : http://download.microsoft.com/download/d/9/1/d91c44b9-fbac-4e8e-bee1-4a75777923ec/dxsdk_feb2005_extras.exe

在执行DirectShow样例时必须先用设置Visual C++编辑环境,要不然交会发生连接错误或者是找不到定义等等众多错误。设置直要是指定编绎器去查找程序所引用的头文件,库文件或者是资源文件的所在目录的路径

设置步骤:菜单条中的工具->选项->项目和解决方式->Vc++文件夹,然后就要以在右边的下拉框中选择可运行文件,头文件,库文件等待,这样就能够设置其所在文件的路径了。

所包括的文件可能放在:

1.DirctX 安装所在目录中的:Lib和Include目录中;

2.Platform 安装所在目录中的:Lib,Include,Samples\Multimedia\DirectShow\BaseClass,和Samples\Multimedia\DirectShow\Common文件里。

怎么确定项目所须要那些文件: 在SDK中查找编译出错,提示未定义的成员的帮助,看看它所须要那些头文件和库文件,就能够用#include 与#pragma comment 把它们引用代码文件里如 #include <dshow.h> #pragma comment(lib, “ole32.lib” )

如里它所提供的样例没有存在VC++解决方式,而自己新建空解决方式把所提供的源文件加入进行,执行起来可能会遇到非常多难以想像的问题,由于它们NMAKE命令去生成项目。在生成过程中,它们文件这间有编译的前后顺序,并且有些文件要依懒于前一个编译生成的文件,所以要设置项目属性是非常复杂的,设置的不好非常easy出现各各样的编译错误。但你能够在在命令行中转到项目全部目录,执行命令:nmake /n ,查看生成项目所执行的命令。然后依据命令的信息而去设置新建项目的属性。你要正确去配置项目的属性,就必须了解这个命令nmake,CL.EXE,LINK.EXE,,RC.EXE;以下给出一些參考。

NMAKE命令选项參考 Microsoft 程序维护有用工具 (NMAKE.EXE) 是一个 32 位,基于说明文件里包括的命令生成项目的工具。 http://msdn.microsoft.com/library/c…ake_options.asp

CL.exe 选项说明 CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可运行文件 (.exe) 或动态链接库文件 (DLL)。

http://msdn.microsoft.com/library/c…habetically.asp

link命令选项參考: LINK 是将通用对象文件格式 (COFF) 对象文件和库链接起来以创建 32 位可运行 (.exe) 文件或动态链接库 (DLL) 的 32 位工具

http://msdn.microsoft.com/library/c…r_reference.asp

CL.EXE 与link的关系 http://msdn.microsoft.com/library/c…ink_options.asp

RC命令 Microsoft Windows 资源编译命令,没有找到相关的资料,仅仅在命令行在输入RC /? 查看它自带的帮助了。

命令行中生成DirectShow SDK 中的样例 http://www.cnblogs.com/xuanfeng/arc…/04/494236.html

2 DirectX SDK8.1

(如果DirectX SDK8.1安装在C:\DXSDK文件夹下。) 1. 编译基类源码,至少生成两个静态库文件 打开C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses\baseclasses.dsw,Debug版本号生成strmbasd.lib,Release版本号生成strmbase.lib。

2. 配置VC的编译环境:Include文件夹和Lib文件夹。运行VC的菜单命令Tools | Options…,在随后弹出的对话框中进入Directories一页,在Show directories for一项选择Include files,然后配置例如以下:(注意,务必将DirectX SDK的文件夹放在标准的VC文件夹之前。) C:\DXSDK\Include C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses C:\ DXSDK\samples\Multimedia\Common\include C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE 再在Show directories for一项选择Library files,配置例如以下: C:\DXSDK\Lib C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses \DEBUG C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses \RELEASE C:\PROGRAM FILES\MICROSOFT SDK\LIB C:\Program Files\Microsoft Visual Studio\VC98\LIB C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

3. 配置DirectShow应用程序开发项目须要连接的库文件。 运行VC的菜单命令Project | Settings…,在随后弹出的对话框中进入Link一页,在Object/library modules一项,Debug版输入Strmbasd.lib Msvcrtd.lib Winmm.lib,Release版本号输入Strmbase.lib Msvcrt.lib Winmm.lib。Ignore default libraries. (In Microsoft® Visual C++® 6.0, choose Settings from the Project menu. Click the Link tab and check Ignore all default libraries.)

4. 假设安装的DirectX SDK的版本号是9.0曾经的,请确认在编译应用程序的Debug版本号之前已经定义了DEBUG宏。运行VC的菜单命令Project | Settings…,在随后弹出的对话框中进入C/C++一页,在Category一项选择Preprocessor,然后确认Preprocessor definitions中有DEBUG(假设没有就自己加上)。 另外,应用程序在调用不论什么COM库函数之前,务必调用CoInitialize或CoInitializeEx进行COM库的初始化(一般仅仅需在程序启动的时候调用一次);在结束全部COM操作之后,调用CoUninitialize进行反初始化(一般在程序退出之前调用一次)。而当程序中有多个线程都要使用COM库函数时,则每一个线程都要进行初始化和反初始化。总之,要保证CoUninitialize和CoInitialize(或CoInitializeEx)调用的一一配对。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118084.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档