Skip to main content

在VS 2005下编译Windows VSS的例子vshadow

技术
Author

cookwhy

Published

August 11, 2009

Windows的VSS是指给磁盘打快照的服务,可以方便实施热备份等,MSDN里的相关文档有着详细地介绍。

下载VSS SDK包,这个安装包的安装路径默认为:

C:Files

当然,如果你的VSS版本号不太一样的话,路径会有所区别。

SDK自带了几个例子,对我们熟悉VSS非常有帮助,放在SDK安装路径下的TestApps目录,如果为默认安装,则是:

C:Files

不过我在Visual Studio 2005里编译vshadow这个例子工程时,编译器提示类似如下错误:

error C4430: missing type specifier – int assumed. Note: C++ does not support default-int e:.cpp 30

这是因为VS 2005的C++编译器严格地检查函数的返回值,无返回值函数的返回值不再默认为整数,因此,可以修改main函数的定义,使之返回一个整数值来解决这个编译问题:

把shadow.cpp文件里的主函数

extern “C” __cdecl wmain(int argc, WCHAR ** argv)

根据需要改为类似于

int wmain(int argc, WCHAR ** argv)

即可。