需要在 32/64 位 QT C++ 程序中使用卷影复制服务
Posted
技术标签:
【中文标题】需要在 32/64 位 QT C++ 程序中使用卷影复制服务【英文标题】:Need to use Volume Shadow Copy Service in 32/64 bit QT C++ program 【发布时间】:2016-10-08 20:05:14 【问题描述】:我有几个关于在我的 QT C++ 程序中使用卷影复制服务的问题。
-
我了解到,要使用 VSS,您必须运行本机 32/64 位
不支持 WOW64。所以这意味着我需要编译我的程序
Windows 在程序 exe 运行正确的计算机上使用了哪些位?
我需要使用 MSVC 还是可以使用 MinGW 来做到这一点?
如果我需要 MSVC,如何为 32 位和 64 位进行静态构建?我在 google 上找到了“qt msvc static build”的前 4 个链接,但它们都有点不同,所以我想知道哪个是最好用的。
对于 MSVC 或 MinGW,我是否需要在项目中包含 VSS 库?我需要正确获取 VSS SDK?我如何将其集成到程序中?我已经知道要使用的代码。
谢谢:)
【问题讨论】:
【参考方案1】:-
没错,程序必须经过编译才能匹配目标操作系统的架构。
由于大多数 VSC API 是 COM,我真的不知道尝试使用 MinGW 来做到这一点会更好。
在 Visual Studio 中,您需要做的就是包含 VssApi 库,即
#pragma comment (lib, "VssApi.lib")
您真正需要的只是 VSS 特定的标头。这也确实取决于您的目标操作系统。如果您打算支持 Windows XP,则需要特定于 XP 的 SDK。
部分阅读:https://technet.microsoft.com/en-us/library/ee923636(v=ws.10).aspx
【讨论】:
以上是关于需要在 32/64 位 QT C++ 程序中使用卷影复制服务的主要内容,如果未能解决你的问题,请参考以下文章
微软C++编译器太烦人了!是不是有为 Windows 32/64 位编译的替代方法?
如何使用 Visual C++ 2010 Express 从 32 位环境为 64 位 Windows 编译 Qt?