首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >64位Qt应用程序在64位XP上崩溃(但不是在64位Win7上)

64位Qt应用程序在64位XP上崩溃(但不是在64位Win7上)
EN

Stack Overflow用户
提问于 2015-01-28 07:26:45
回答 1查看 701关注 0票数 1

我正在使用Windows7(64位)开发一个Qt (5.3)应用程序。Visual Studio文件是由CMake创建的。这对于Windows7的32位和64位二进制文件很有效。32位的CMake生成器是Visual Studio 12 2013,64位的Visual Studio 12 2013 Win64

我也尝试为Windows XP创建二进制文件。

我将这一行添加到32位版本的CMakeLists.txt中

代码语言:javascript
复制
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,5.01")

这一行表示64位版本

代码语言:javascript
复制
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,5.02")

我使用windeployqt来部署QT依赖项。

在运行CMake并启动生成的Visual Studio之后,我选择了Release-Mode并将平台工具集更改为Visual Studio 2013 - Windows XP (v120_xp)

创建的32位二进制文件在64位Windows XP上运行良好,64位二进制文件崩溃并显示"hello-world.exe已遇到问题,需要关闭...“在Windows XP-64位上,

(编辑:但在64位Windows 7上运行良好)。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-02-08 20:18:30

我也遇到过类似的问题,指定链接器的子系统并没有解决这个问题。然而,下面的解决方案对我来说效果很好:

代码语言:javascript
复制
ADD_CUSTOM_COMMAND(
    TARGET my_target
    POST_BUILD
    COMMAND editbin my_target.exe /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28181940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档