首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问将工程从vc6.0搬到vs2005出现的有关问题

2012-05-27 
请教将工程从vc6.0搬到vs2005出现的问题将directshow实务精选中的代码搬到vs2005出现了一些错误::\Program

请教将工程从vc6.0搬到vs2005出现的问题
将directshow实务精选中的代码搬到vs2005出现了一些错误:


:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(941) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(941) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(957) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(957) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(982) : error C2712: Cannot use __try in functions that require object unwinding
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(995) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(995) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(1011) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(1011) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(1177) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\atlcomcli.h(1177) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(107) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(107) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(113) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(113) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(423) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(423) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(587) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(587) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(895) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(895) : error C2143: syntax error : missing ';' before '{'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(965) : error C2059: syntax error : 'catch'
d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\statreg.h(965) : error C2143: syntax error : missing ';' before '{'
正在创建浏览信息文件...
Microsoft Browse Information Maintenance Utility Version 8.00.50727

d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\canaloginputfilters.cpp(565) : warning C4995: 'strcpy': name was marked as #pragma deprecated
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\canaloginputfilters.cpp(565) : warning C4996: 'strcpy' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
  Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
CVideoRendererFilter.cpp
CVideoCaptureFilter.cpp
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cvideocapturefilter.cpp(24) : warning C4995: 'strcpy': name was marked as #pragma deprecated
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cvideocapturefilter.cpp(24) : warning C4996: 'strcpy' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'


  Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
CSmartTeeFilter.cpp
COverlayMixerFilter.cpp
Generating Code...
Compiling...
CImageGrabberFilter.cpp
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cimagegrabberfilter.cpp(216) : warning C4996: 'fopen' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen'
  Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
CFileWriterFilter.cpp
CDVCaptureFilter.cpp
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cdvcapturefilter.cpp(25) : warning C4995: 'strcpy': name was marked as #pragma deprecated
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cdvcapturefilter.cpp(25) : warning C4996: 'strcpy' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
  Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
CAviMuxFilter.cpp
CAudioRendererFilter.cpp
CAudioCaptureFilter.cpp
STREAMS.H included TWICE
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\caudiocapturefilter.cpp(26) : warning C4995: 'strcpy': name was marked as #pragma deprecated
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\caudiocapturefilter.cpp(26) : warning C4996: 'strcpy' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
  Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
UFilterUtils.cpp
UDsUtils.cpp
CVideoWindow.cpp
CDXGraph.cpp
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cdxgraph.cpp(596) : warning C4995: 'swprintf': name was marked as #pragma deprecated
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cdxgraph.cpp(596) : warning C4996: 'swprintf' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\swprintf.inl(85) : see declaration of 'swprintf'
  Message: 'swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.'
CDXFilter.cpp
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cdxfilter.cpp(33) : warning C4995: 'wcscpy': name was marked as #pragma deprecated
d:\曲文博\directshow\directshow实务精选源代码\chapter02\avcap\cdxfilter.cpp(33) : warning C4996: 'wcscpy' was declared deprecated
  d:\program files\microsoft visual studio 8\vc\include\string.h(250) : see declaration of 'wcscpy'
  Message: 'This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE



基本就是两个方面的问题,前面一个似乎和异常有关的,可是我都看不到catch等词,错误都似乎出现在“ATLTRY(pszA.Allocate(_convert));”这类语句中。
第二类是一些警告:都是一些函数的使用的警告。

请问这都是些什么问题,源代码是vc6.0下实现的,我需要在vs2005实现,编译出了以上问题,还望各位能指点一二,谢谢!

[解决办法]
楼主看看这个贴子
http://topic.csdn.net/u/20071017/15/8c2a8d0f-159f-4afd-ba1c-554cf0f7d493.html?424680672
[解决办法]
第一类问题不知道,第二类的警告:'strcpy'等函数已过时,用'strcpy_s'等函数代替即可。
[解决办法]
曲文博同学……


error C2143: syntax error : missing ';' before '{' 


这种,
见过。

是代码写得不规范的缘故。

举一例:

enum {f,u,c,k} myfun;

放到外部就会让你在 { 之前加 ;

写成 enum __myfun { f,u,c,k } myfun;
就没问题了。

你需要自己去看代码。

这种错误报出来。不是自己是解决不了的。

热点排行