【问题标题】:How to detect if a library is using the XP compatibility (v120_xp)?如何检测库是否使用 XP 兼容性(v120_xp)?
【发布时间】:2014-08-11 16:44:47
【问题描述】:

我有一个大型本地 C++ 项目,它由 Visual Studio 2013 中的许多特定和第 3 方库构建。 我正在为 64 位和 32 位架构进行编译。 对于 32 位架构,我设置了(针对第 3 方和我们的库)XP 工具集 (v120_xp) 以保持与 Windows XP 的兼容性。

最近我们更新了一个库,从我们收到的错误来看,有些库似乎没有为 XP 正确设置。是否可以使用 Dependancy Walker 或其他工具来检测用于构建 DLL 或 EXE 的工具集? 我只需要任何方法来检查哪个库不兼容 XP。

【问题讨论】:

    标签: c++ visual-c++ visual-studio-2013 windows-xp


    【解决方案1】:

    使用dumpbin /headers my_program.exe 并查找操作系统版本和子系统版本。在为 Windows XP 构建时,它们将是 5.01。如果不为 Windows XP 构建,它们将是 6.00。

    (这不是万无一失的——如果 DLL 或 EXE 声明它在 Windows XP 上运行,但尝试使用在 Windows XP 上不可用的 Windows API,那么显然 DLL 或 EXE 不会在 Windows XP 上运行.)

    【讨论】:

    • 谢谢,我试过了,但实际上写 6.00 时也可以在 Windows XP 上运行,但我发现需要 SP3。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    相关资源
    最近更新 更多