需要在 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++ 程序中使用卷影复制服务的主要内容,如果未能解决你的问题,请参考以下文章

QT的基本数据类型

微软C++编译器太烦人了!是不是有为 Windows 32/64 位编译的替代方法?

C++ Qt:按位运算

如何使用 Visual C++ 2010 Express 从 32 位环境为 64 位 Windows 编译 Qt?

MongoDB C++ 驱动程序稳定分支在 Qt 应用程序中崩溃

不同的 .NET 程序集引用取决于 32-64 位 [重复]