【问题标题】:VS2012 nmake using v110_xp toolset?VS2012 nmake 使用 v110_xp 工具集?
【发布时间】:2013-04-02 10:31:42
【问题描述】:

在使用“nmake”编译时,有没有办法使用 v110_xp 工具集(而不是默认的“v110”)?

我正在尝试为 VisualStudio2012 编译一个 Qt5 库,我也需要它在 Windows XP 机器上工作。我已经设法使用带有nmake的VS2012编译所有Qt5库,但即使是简单的测试应用程序也无法在XP机器上运行,给我“过程入口点_except_handler4_common不能位于动态链接库msvcrt.dll”。 (在 Windows 7 机器上,我的测试应用程序运行正常

【问题讨论】:

  • 如果您最终依赖于 msvcrt.dll,那么您的 makefile 中就会出现严重问题。最后一个使用它的导入库在 10 年前就消失了。很难猜测这是怎么发生的。
  • Hans Passant 感谢您的评论,但(只是一个例子)官方的 Qt 的 Qt5Core.dll 对 Ole32.dll 有依赖关系,它对 msvcrt.dll 有依赖关系。使用“Dependency Walker”软件(dependencywalker.com)可以清楚地看到这一点 做一些实验并使用“v110_xp”工具集而不是“v110”编译 Qt 真的很好......现在我不确定如何做到这一点,如果这可能的话......
  • 它仍然没有意义,v110_xp 肯定不会有所作为。 qt5core.dll 最终依赖于 msvcrt.dll 的唯一方法是使用 mingw 构建它。
  • 对不起汉斯,但我不确定我是否同意你关于 msvcrt.dll 的看法。 “过程入口点..”错误是由“d3dcompiler_46.dll”引起的(它也在使用 msvcrt.dll)。这个 d3d 文件根本不能在 XP 机器上工作(仅限 vista/7/8 平台)所以我在配置 Qt 时最终使用了“-opengl desktop”标志。这个错误现在消失了,但我仍然无法在 XP 机器上运行任何 Qt 应用程序。仍在试图找出问题所在...:/我仍然怀疑“v110”平台工具集的东西..
  • 是的,微软提供的 DLL 依赖于它。 Qt5core 不是 Microsoft DLL。是的,您不能在 XP 上运行使用 v110 构建的程序,它们需要 v110_xp 工具集。

标签: c++ visual-studio-2012 qt5 nmake


【解决方案1】:
  1. 编辑 Makefile.DebugMakefile.Release 文件
  2. -D_USING_V110_SDK71_添加到DEFINES

例子:

DEFINES = -D_USING_V110_SDK71_ -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG

祝你好运!

【讨论】:

    【解决方案2】:

    我正在寻找的信息可以在这里找到:http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx(在“从命令行定位”中)

    【讨论】:

      【解决方案3】:

      在运行 configure 之前编辑 mkspecs\win32-msvc2012\qmake.conf 更容易。 编辑 DEFINES += 行并添加以下内容:

      WIN32 _USING_V110_SDK71_
      

      每次拉取时,您都必须隐藏并弹出此更改。

      【讨论】:

        【解决方案4】:

        nmake /E CC="cl /D_USING_V110_SDK71_ /D_WIN32_WINNT=0x0501" /f Makefile.vc

        make 文件比较困难的时候就容易多了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-01-03
          • 2013-05-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-03
          相关资源
          最近更新 更多