Программа, скомпилированная на Win7, вылетает в XP (Visual C++ 6)
У меня довольно большая кодовая база, которую я унаследовал, и я на данный момент застрял в прошлом. Я работаю в Visual C++ 6 в Windows 7 (32-разрядная версия), однако нацеливаюсь на компьютер с XP (Service Pack 2). Корпоративные компании не видят окупаемости при обновлении до.NET, и у меня такая же тяга, как у Mini Cooper, буксирующего поезд.
С учетом вышесказанного я, казалось бы, успешно установил VC++6 (без совместимости с XP) на мою машину с Win7, и я могу скомпилироваться и нормально работать. Однако, когда я пытаюсь развернуть мою сборку релиза на моем компьютере с XP, она падает (в то время как она не падает на Win7). Однако, если я создам тот же код непосредственно на компьютере с XP, он будет работать нормально. Запуск VC++ 6 на моем компьютере с Win7 в режиме совместимости с XP приводит к сбою IDE при открытии моего рабочего пространства.
Единственное, о чем я могу думать, это то, что в коде широко используются элементы управления ActiveX и реестр. Я не уверен, что, возможно, есть какие-то изменения в реестре, которые были сделаны в Win7, или наоборот. Опять же, я очень мало знаю о реестре; Мне определенно намного удобнее работать в среде Unix, когда я пишу для удовольствия, особенно когда я пишу на C/C++.
Вот скриншот ошибки, которую я получаю, когда она падает. Мне кажется, это как-то связано с регистрацией ActiveX.
1 ответ
Нет, это вообще не связано с ActiveX. Это твой болотный стандарт, тип 1980-х годов assert
, Как вы могли заметить, если бы вы посмотрели на строку 279 winocc.cpp.