《directshow 实务精选》上的例子 编译出错!!帮忙看看吧!!DWORD_PTR没定义

liuliuxd 2008-03-26 11:34:25
问题1. 在 .net 2003 + directshow 9c 环境下编译第一个例子 AVCap出错?

在atlcomcli.h 文件中提示
CTempBuffer<char> pszA;
ATLTRY(pszA.Allocate(_convert));
语法错误如下
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlcomcli.h(799): error C2059: 语法错误 : “catch”
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlcomcli.h(799): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
}

问题2. 编译 例子AVChat 提示

void CDXGraph::AddToObjectTable(void)
{
IMoniker * pMoniker = 0;
IRunningObjectTable * objectTable = 0;
if (SUCCEEDED(GetRunningObjectTable(0, &objectTable)))
{
WCHAR wsz[256];
wsprintfW(wsz, L"FilterGraph %08p pid %08x", (DWORD_PTR)mGraph, GetCurrentProcessId());
HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);
if (SUCCEEDED(hr))
{
hr = objectTable->Register(0, mGraph, pMoniker, &mObjectTableEntry);
pMoniker->Release();
}
objectTable->Release();
}
}
代码中的
wsprintfW(wsz, L"FilterGraph %08p pid %08x", (DWORD_PTR)mGraph, GetCurrentProcessId());句提示如下错误:
e:\swf\SourceCodes\Chapter02\AVCap\CDXGraph.cpp(595): warning C4995: “wsprintfWInternal”: 名称被标记为 #pragma deprecated
e:\swf\SourceCodes\Chapter02\AVCap\CDXGraph.cpp(595): error C3861: “wsprintfWInternal”: 即使使用参数相关的查找,也未找到标识符
...全文
467 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxj06 2010-04-23
  • 打赏
  • 举报
回复
将环境改成Unicode
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
不会,帮顶
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
w20011025 2008-04-13
  • 打赏
  • 举报
回复
注意编译的先后顺序。(platform sdk dxsdk)
zhangchaoyszq 2008-04-13
  • 打赏
  • 举报
回复
代码中的
wsprintfW(wsz, L"FilterGraph %08p pid %08x", (DWORD_PTR)mGraph, GetCurrentProcessId());句提示如下错误:
e:\swf\SourceCodes\Chapter02\AVCap\CDXGraph.cpp(595): warning C4995: “wsprintfWInternal”: 名称被标记为 #pragma deprecated
e:\swf\SourceCodes\Chapter02\AVCap\CDXGraph.cpp(595): error C3861: “wsprintfWInternal”: 即使使用参数相关的查找,也未找到标识符
如果是VS2005的话!在设置地语言设置中,把将w_char视为内置类型设置为是就行啦!
liuliuxd 2008-03-28
  • 打赏
  • 举报
回复
我现在重新安装了direct 9b 仍然是一部程序编译不通过。 例如: AVcap 例子 :
1.在.net 2003 环境下 debug 和 release 时都提示error LNK1104: 无法打开文件“mfc42d.lib” ;
2.在VC 6.0 的debug 方式下编译提示 LNK1104: cannot open file "jrtplib.lib" ,但是release模式下确运行正确了 是怎么回事?
请帮忙看看!!!
msgsnd 2008-03-28
  • 打赏
  • 举报
回复
关心一下directshow开发环境的配置。注意路径一定要放到最前面。
Jartru 2008-03-27
  • 打赏
  • 举报
回复
建议用VC6 + directshow 9b环境,directshow 9c有不少问题。
SmallBigCat 2008-03-27
  • 打赏
  • 举报
回复
你没安装新SDK;

或者你替换成DWORD也可以
liuliuxd 2008-03-26
  • 打赏
  • 举报
回复
没人知道吗?是个最基础的问题呀!

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧