求VC++编程中error C2065的解决方法

yuanbingster 2010-04-27 02:04:50
(Visual C++ 6.0版本)程序运行后出现如下错误:

c:\program files\extras\directshow\samples\c++\directshow\baseclasses\wxutil.h(375) : warning C4005: 'wsprintfW' : macro redefinition
c:\program files\dxsdk_aut2007\include\strsafe.h(6572) : see previous definition of 'wsprintfW'
c:\program files\extras\directshow\samples\c++\directshow\baseclasses\wxutil.h(376) : warning C4005: 'lstrcpyW' : macro redefinition
c:\program files\dxsdk_aut2007\include\strsafe.h(6506) : see previous definition of 'lstrcpyW'
d:\program files\visual studio 6.0\vc98\atl\include\atlbase.h(312) : error C2065: '_vsnprintf_instead_use_StringCbVPrintfA_or_StringCchVPrintfA' : undeclared identifier
d:\program files\visual studio 6.0\vc98\atl\include\atlbase.h(345) : error C2065: '_vsnwprintf_instead_use_StringCbVPrintfW_or_StringCchVPrintfW' : undeclared identifier
d:\program files\visual studio 6.0\vc98\atl\include\atlbase.h(5522) : error C2065: 'lstrcpy_instead_use_StringCbCopy_or_StringCchCopy' : undeclared identifier
d:\program files\visual studio 6.0\vc98\atl\include\atlbase.h(5996) : error C2065: 'lstrcat_instead_use_StringCbCat_or_StringCchCat' : undeclared identifier
Error executing cl.exe.

VideoServer.exe - 4 error(s), 2 warning(s)

PS:我有安装Platform SDK(PSDK-x86)、DX SDK Aug2007以及DirectX 9.0 SDK Update (February 2005) Extras
...全文
1508 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanbingster 2010-05-09
  • 打赏
  • 举报
回复
SDk版本问题
解决方法如下:
1.安装dx90bsdk.exe ,该版本是最后一个包含directshow的版本
(http://download.microsoft.com/download/b/6/a/b6ab32f3-39e8-4096-9445-d38e6675de85/dx90bsdk.exe)
2.安装Platform SDK 2003(http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm)
全部下载下来后,解压,运行PSDK-FUll.1中的setup.exe即可
3.在VC的Tool->option->direction->include中添加上述两个软件的安装路径(注意先SDK、后VC)
C:\DXSDK\Include
C:\Program Files\Microsoft SDK\include
C:\DXSDK\Samples\C++\DirectShow\BaseClasses
C:\DXSDK\Include C:\DXSDK\Samples\C++\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
在Tool->option->direction->Library files 中添加以下路径
C:\DXSDK\Lib
C:\Program Files\Microsoft SDK\lib
(将上述目录移至最上方)
Beyond_cn 2010-04-27
  • 打赏
  • 举报
回复
帮你顶。、
yuanbingster 2010-04-27
  • 打赏
  • 举报
回复
2个“warning”已经解决了,是DX SDK Aug2007中的定义和DirectX 9.0 SDK Update (February 2005) Extras 中的定义重复了。谢谢#1和#2 ~

出现的4个错误应该怎么办?
wade_2003 2010-04-27
  • 打赏
  • 举报
回复
这个不懂,参考楼上吧
cattycat 2010-04-27
  • 打赏
  • 举报
回复
platform SDK的一些东西和VC6.0中一些东西冲突了。在tools的library设置中把platform sdk的放到vc的include前面。
要不你查一下platform的说明,怎么解决冲突问题。
一土草三工 2010-04-27
  • 打赏
  • 举报
回复
检查头文件中的定义:'wsprintfW' 、'lstrcpyW'

strsafe.h、atlbase.h、atlbase.h

65,189

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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