Я использую Windows 7 (64-разрядная версия) для разработки приложения Qt (5.3). Файлы Visual Studio создаются с помощью CMake. Это отлично работает для 32-битных и 64-разрядных двоичных файлов для Windows 7. CMake Generator для 32-разрядных - Visual Studio 12 2013
, для 64-разрядных Visual Studio 12 2013 Win64
.64-разрядная ошибка приложения Qt на XP 64-разрядная (но не на 64-разрядной версии Win7)
Я попытался создать двоичные файлы для Windows XP.
Я добавил эту строку в CMakeLists.txt для 32-битной версии
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 и изменил набор инструментов платформы на Visual Studio 2013 - Windows XP (v120_xp)
.
Созданный 32-разрядный двоичный файл отлично работает в Windows XP 64-бит, 64-разрядные двоичные сбои с «hello-world.exe столкнулись с проблемой и должны закрыть ...» на Windows XP-64 -бит,
(EDIT: но отлично работает в Windows 7 64-бит).
Что я делаю неправильно? :(
вы можете попробовать открыть его в зависимости ходунки и посмотреть, если вы «Отсутствует какая-то dll? –
MSJAVA.DLL отсутствует, но все в порядке. Я установил Microsoft Visual Studio 2010 Express, импортировал исполняемый файл и начал отладчик.« Необработанное исключение в 0x00a8db11 в main.exe: 0xC000001D: нелегальная инструкция ». вызывается в 'msvcr120d.dll'. Строка' 0000000000A8DB11 vmovsd qword ptr [rsp + 10h], xmm0' подсвечивается при разборке. – Marcello90
'и сменил набор инструментов платформы на' вам просто нужно добавить '-Tv120_xp' к шагу поколения cmake. Также я думаю, что вам не нужно изменять 'CMAKE_EXE_LINKER_FLAGS'. –