一些directx Show例子在visual studio 2005 中编绎的问题

转载 2007年09月15日 09:50:00

Some DirectShow Samples Break in Visual Studio 2005
[Note: This post applies to the Platform SDK for Windows Server 2003 SP1 and Server 2003 R2. These issues were fixed in the Windows SDK for Vista.] 

Some of the DirectShow samples break if you install Visual Studio 2005 Beta 2. Most of the errors that I found fall into three categories:

C4430: Missing type specifier. To conform with C++, undeclared types do not default to int. All types must be declared. Fix: Declare the type, or suppress the warning with the "/wd4430" flag.
C4996: ' xxxx' was declared deprecated. You may be including an older version of strsafe.h from the DirectX SDK or the Platform SDK. You should include the version installed with Visual Studio. (But it's probably harmless to ignore this warning.) 
C2065: 'xxx': undeclared identifier. To conform with C++, the scope of a variable declared inside a "for" loop is restricted to the loop. Fixes: (a) Move the declaration outside the for loop. (b) Redeclare the variable in multiple scopes, if you don't need it to persist outside the loop. (c) Set the /Zc:forScope flag. (You can find this under Project, Properties, Configuration Properties, C/C++, Language, Force Conformance In For Loop Scope. Set to "No".)
Here are the specific fixes that I made. Warning: I have not thoroughly tested these, and I only tried them under the "Windows XP 32-bit Debug" environment in Platform SDK. You should use your own judgment before making any of these fixes.

BaseClasses/ctlutil.h (278)  
    (LONG) operator=(LONG);
BaseClasses/wxdebug.cpp (564)
    static DWORD g_dwLastRefresh = 0;
BaseClasses/winutil.cpp (2092)
   UINT Count;
   for (Count = 0;Count < Result;Count++) {
 BaseClasses/outputq.cpp (635)
   long iDone = 0;
   for (iDone = 0;
Capture/AmCap/amcap.cpp (691)
    for(int i = 0; i < NUMELMS(gcap.rgpmAudioMenu); i++)
Capture/AmCap/amcap (2795)
    for(int i = 0; i < NUMELMS(gcap.rgpmAudioMenu); i++)
DMODemo/dsutil.cpp (686)
    DWORD i = 0;
    for( i=0; i<m_dwNumBuffers; i++ )
dmoimpl.h (622)   [In the Platform SDK headers]
    for (DWORD dw = 0; dw < NUMBEROFOUTPUTS; dw++) {
DMO/GargleDMO/MedParamBase/param.cpp (91)
    for (DWORD dwIndex = 0; dwIndex < cParams; dwIndex++)
DMO/GargleDMO/MedParamBase/param.cpp (309)
    CCurveItem *pCurve = NULL;
    for (pCurve = pCurveHead;
DMO/GargleDMO/gargle.cpp (145)
    for (DWORD i = 0; i < cOutputStreams && SUCCEEDED(hr); ++i)
Filters/Dump/dump.cpp (426)
    for (int Loop = 0;Loop < (DataLength % BYTES_PER_LINE);Loop++)
Filters/Gargle/gargle.cpp (212)
    static int m_nInstanceCount; // total instances
Filters/RGBFilters/RateSource/ratesource.cpp (382)
    for( int y = 0 ; y < DEFAULT_HEIGHT ; y++ )
Filters/RGBFilters/RateSource/ratesource.cpp (387)
    for( int y = 0 ; y < DEFAULT_WIDTH ; y++ )
VMR/VMRXclBasic and VMR/Ticker: LNK1181: cannot open input file 'dxguid.lib'. This was an error in the makefile. Change to read:
    DXLIB="$(DXSDK_DIR)/Lib/x86"  (currently says "x32")
VMR/VMRXcl and VMR/VMRMulti: C1083: Cannot open include file: 'd3dxmath.h': No such file or directory. This is an old DX header that is no longer included in DX or in Visual Studio. Unfortunately the only fix is to download an older version of the DirectX SDK.
VMR9/MultiVMR9/GamePlayer/character.cpp (383)
    DWORD i = 0;
    for (i = 0; i < pMeshContainer->NumInfl; ++i)
VMR9/MultiVMR9/DLL/MixerControl.h (28)
    static const DWORD MultiVMR9Mixer_DefaultFVF = D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1;
VMR9/VMRAllocator: error LNK2019: unresolved external symbol "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (etc).  Add this to the makefile:
    LINK32_LIBS = /
    comsuppw.lib /
    shell32.lib / 

c++学习笔记(1)——环境搭建、经典教程推荐及 Visual Studio 2005/2008中如何编译和运行C++程序

之前一直用C编程可是对C++并不了解,决定学习C++,今天是入门第一天:搭建了编译环境和写了第一个helloworld的程序 (1)使用的软件:Visual Studio 2008(中文版)。    ...
  • zhenzhen90
  • zhenzhen90
  • 2013年08月16日 17:21
  • 1425

一、VS2015update2环境下DirectX11编程说明(2016.5.5更新)

本文索引:一 关于龙书 二 在vs2015u2环境下编写DirectX11程序 三 关于MSDN帮助文档 四 官方示例项目 五 自己尝试编写一个小项目 1 创建一个win32项目 2 配置依赖库 3 ...
  • xueyedie1234
  • xueyedie1234
  • 2016年05月04日 17:35
  • 12706

【VS2010学习笔记】【编程实例】 (在Visual Studio中使用C++创建和使用DLL)

什么是DLL(动态链接库)?    DLL是一个包含可由多个程序同时使用的代码和数据的库。例如:在Windows操作系统中,Comdlg32 DLL执行与对话框有关的常见函数。因此,每个程序都可...
  • xirongxu_dlut
  • xirongxu_dlut
  • 2016年11月16日 13:01
  • 2072

Visual Studio 2005 不能单步调试的问题

转自:http://hi.baidu.com/daihaipengdhp/blog/item/aa88906eebcdecdc81cb4a09.html 单步调试时出错,原来的断点处显示一个空心圆加一...
  • liushizhe1987
  • liushizhe1987
  • 2011年05月07日 23:59
  • 873

Visual Studio 2005在IIS7下无法开启Debug的问题

很遗憾,这个问题始终无法解决,现摘录一篇不错的文章,尽管还是无法解决我的问题,但或许会对你有用。 http://mvolo.com/blogs/serverside/archive/2006/12/...
  • broze
  • broze
  • 2011年09月01日 13:57
  • 1802

Visual Studio 2005 Team System软件测试专家教程,C#源代码,很实用的例子.

  • 2009年02月26日 11:11
  • 2.95MB
  • 下载

Teechart 的用法详解:在VC6.0 跟Visual Studio 2005及之后版本的区别

在VC++6.0和Visual Studio各大版本上的使用总结:通过oleview.exe软件的typelib接口查看,得知接口一致,因为不同的编译软件,产生的头文件和接口有区别,导致给开发人员的友...
  • liquanhai
  • liquanhai
  • 2016年06月02日 10:00
  • 2471

Visual Studio 2005 Qt开发环境的建立

1.正常安装Visual Studio 2005,只要安装了C++即可.注意:不是Express版本.2.下载Qt源代码Qt 4.3.2 Windows OpenSource版下载:http://ww...
  • feiskyer
  • feiskyer
  • 2012年09月29日 09:50
  • 392

Visual Studio 2005使用总结:起始页设置、浏览方式设置

Visual Studio 2005使用总结:起始页设置、浏览方式设置 操作系统:WIN 10 虚拟机:VMware 10 虚拟机系统:Server 2008 R2 Standard ...
  • laowang2915
  • laowang2915
  • 2017年08月03日 13:41
  • 131

使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码(详解)

[原英文链接]:    Visual Studio 2005 Technical Articles    Author:Scott Dockendorf               Tellig...
  • weicomputer
  • weicomputer
  • 2012年03月15日 13:07
  • 645
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一些directx Show例子在visual studio 2005 中编绎的问题
举报原因:
原因补充:

(最多只允许输入30个字)