[英]64-bit Qt application crashes on XP 64-bit (but not on Win7 64-bit)
我正在使用Windows 7(64位)開發Qt(5.3)應用程序。 Visual Studio文件由CMake創建。 對於Windows 7的32位和64位二進制文件,此方法工作正常。32位的CMake Generator是Visual Studio 12 2013
,對於64位的Visual Studio 12 2013 Win64
。
我也嘗試為Windows XP創建二進制文件。
我將此行添加到了32位版本的CMakeLists.txt中
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,5.01")
這行是64位版本
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)
。
在Windows XP 64位系統上,創建的32位二進制程序可以正常工作,在Windows XP 64位系統上,64位二進制程序崩潰時顯示“ hello-world.exe遇到問題,需要關閉...。”,
(編輯:但是在Windows 7 64位上工作正常)。
我究竟做錯了什么? :(
我有一個類似的問題,指定鏈接器的子系統無法解決該問題。 但是以下解決方案對我來說效果很好:
ADD_CUSTOM_COMMAND(
TARGET my_target
POST_BUILD
COMMAND editbin my_target.exe /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.