Я использую Windows 7 64 бит QT 5.9.1 с компилятором MSCV 2017 64 бит.
Я пытаюсь создать 32-битное приложение в этой среде и соединяюсь с 32-битной библиотекой, но я не могу бороться с правильной комбинацией параметров для достижения этой цели, и при этом я не знаю, возможно ли это вообще.
Я видел использование некоторых решений
но я не могу понять, как адаптировать его к этой среде. Какие-нибудь советы?
РЕДАКТИРОВАТЬ: Я должен также упомянуть, что у меня нет доступа к Интернету, и у меня нет прав администратора на машине, которую я использую, поэтому установка новых версий невозможна.
Мой проект также является проектом subdirs с 3 различными файлами .pro. Когда я делаю одно изменение в одном профессиональном файле, я обычно применяю это изменение ко всем из них.
РЕДАКТИРОВАТЬ 2: Это для устранения ошибок
LNK4272: тип библиотечного компьютера x86 конфликтует с типом конечного компьютера x64
LNK2019: неразрешенный внешний символ, указанный в функции
КАК 64 БИТНУЮ ИГРУ ЗАПУСТИТЬ НА 32 БИТНОЙ СИСТЕМЕ 2018
Я полагаю, что как только я смогу скомпилировать его в 32-битной версии, эти ошибки исчезнут, но я не уверен, так ли это.
РЕДАКТИРОВАТЬ 3: У меня есть 32-битная версия qt, но она находится в MINGW, поэтому он не может правильно найти QMAKE_MSC_VER и так далее в кроличьей норе. Если есть какие-либо советы о том, как заставить его работать с MSCV2017, это будет оценено.
Решение
Чтобы решить эту проблему, вам нужен 32-битный набор для Qt. Для этого вы должны пойти в Tools > Options > Build Kits , Однако, если вы только что установили Qt 64 bit, этот комплект, скорее всего, будет недоступен. Таким образом, вы должны запустить Qt Maintainenance Tool из Start -> Programs -> Qt -> Qt Maintenance Tool , Отсюда вы должны пропустить вход в Qt, если вы не используете коммерческую версию Qt, а затем нажать Add or remove components , Теперь вы должны выбрать нужный набор (Qt 32 bit), и Qt автоматически установит наборы (se). После этого вы можете вернуться в меню «Наборы» и добавить их.
Другие решения
Вы должны создать 32-битный набор в Qt Creator для генерации 32-битного исполняемого файла.
Для настройки ваших наборов перейдите по ссылке: Tools > Options > Build Kits ,
После этого вы можете активировать комплект для своего проекта.
Я полагаю, что канонический текст, который нужно вставить в ваш файл .pro, будет таким:
CONFIG -= x86_64 CONFIG += x86
(Первая строка гарантирует, что сборка 64-битных двоичных файлов не произойдет, а вторая строка гарантирует, что сборка 32-битных двоичных файлов произойдет)
Источник: web-answers.ru
Переход с 32-битной на 64-битную ОС или проблема четвертого гигабайта
Развитие технологий не стоит на месте, и это отражается на многих сферах. К примеру, все современные компьютеры поддерживают разрядность 64 бита, но 32 всё ещё существует. Однако она уже постепенно выходит из обихода, а потому многие пользователи задумываются о том, как перейти с 32 на 64 битный windows 7, так как эта версия ОС стоит на большинстве компьютеров.
КАК НА 32x СИСТЕМЕ ПОИГРАТЬ В 64x ИГРЫ?
Рисунок 1. Руководство по переходу на 64 битный Виндоус 7
Плюсы использования 64-битной системы
Если обратиться к преимуществам ОС на 64 бита, то первое, приходящее в голову – быстродействие. Благодаря такой разрядности, ОС сможет обрабатывать больше потоков данных (Рисунок 2).
Это пригодится и для установки свежих программ для работы, и для игр, которые требуют новейшие драйвера и большое количество ресурсов ОС для стабильной работы.
Дополнительно можно сказать, что 64-битная версия – универсальная. И все приложения, и дрова для системы в 32-бита будут легко работать на 64 битной, в то время как в обратную сторону это не работает.
Рисунок 2. Преимущества использования 64 разрядной ОС
Создать загрузочную флешку
После сбора всей необходимой информации и компонентов пользователь может создать загрузочную флешку. Данный этап является заключительным, при успешном завершении 32-разрядный Виндовс сменится на 64-битный. Нужно следовать простому алгоритму:
Шаг 1. Запустить заранее скаченную утилиту «MediaCreationTool» и воткнуть в разъем флешку.
Вставляем загрузочную флешку в один из доступных разъемов на компьютере или ноутбуке
Шаг 2. Программа предусматривает переустановку всего Виндовса, поэтому даже при потребности обновиться она предложит создать носитель для другого ПК. В окне будет иметься три вкладки:
Выпуск подразумевает версию Windows, во вкладке «Язык» можно изменить русскую версию на любую другую, а вот «Архитектура» отвечает за разрядность. Там и нужно выбрать «64-разрядная (х64)», нажать «Далее».
Выставляем язык, в разделе «Архитектура» выбираем «64-разрядная (х64)», нажимаем «Далее»
Шаг 3. Программа установки Windows 10 предложит выбрать носитель для установки. Если пользователь для загрузки выбрал другой софт, то ему стоит нажать на «ISO-файл». При установке на USB-устройство ничего менять не нужно.
Отмечаем подходящий параметр, нажимаем «Далее»
Шаг 4. При выборе параметра «USB-устройство…» в следующем окне утилита попросит выбрать носитель, выделяем его левым кликом мышки, жмем «Далее».
Возможно вас заинтересует: Установка Windows 7 с флешки
Левым кликом мышки выделяем флешку, нажимаем «Далее»
Шаг 5. Начнется процесс установки 64-разрядной версии Windows 10 на флешку. В это время можно продолжать заниматься своими делами за ПК. Затем стоит перезагрузить компьютер.
Ожидаем завершения процесса установки Виндовс на флешку
После завершения процесса установки Виндовс 10 на флешку приступаем к самой установке.
Основные отличия 64-битной и 32-битной систем Windows 7
Отличие уже было отмечено выше, система на 64 бита работает быстрее, чем на 32 бита. Также она использует всю доступную память, в то время как 32 битная Windows работает только с определенным количеством памяти. Поэтому пользователям, у которых есть только 2-3 ГБ оперативной памяти, стоит подумать, нужен ли переход, потому что процессор может начать тормозить.
Переводить 32 bit на 64 bit полезно ещё и по той причине, что многие приложения подстраиваются под систему в 64 бита. Они не пойдут на 32-битных.
Переделываем 32 разрядную систему Windows 7 на 64 разрядную
Способ перехода с 32-битной Виндовс на 64-битную таков:
- Приобрести или добыть Windows 64 бит.
- Записать образ ОС на диск или создать специальную загрузочную флешку. Важно отметить, что это не значит закинуть на них скачанный файл.
- Перейти в BIOS на ПК – под каждую модель материнской платы принцип будет свой. Кнопка, с помощью которой переходят в меню БИОС, пишется на одном из экранов при загрузке компьютера.
- Выбрать загрузку с нужного носителя (Рисунок 3).
- Запустить установку.
- Выставить настройки.
- Поставить драйвера и обновить их. Это делается разными способами.
Важно отметить, что при переустановке Windows все файлы будут удалены, так что их потребуется выгрузить.
Рисунок 3. Последовательность действий по установке
Без переустановки системы
Без переустановки Виндовс перейти никак не получится, потому что никакой кнопочки, которая делает из системы на 32 бита 64-битную, нет.
Но можно взять и новый жесткий диск, поставить туда новую версию Windows, и тогда технически переустановка ОС не потребуется.
Кстати, можно устанавливать носитель во второй разъём SATA, и выбирать загрузку Виндовс с него. Так в одном корпусе будет два компьютера с одинаковыми элементами. Они не будут работать одновременно, но между ними получится переключаться.
Без потери данных
Чтобы обойтись без потери данных, можно перенести файлы с диска С на дополнительный. Отформатируется первый, а все файлы останутся на втором. Но все программы, что были установлены на диске С, придётся переустанавливать.
Но лучше всё же не полагаться на этот метод, а перенести все файлы временно куда-то в другое место. Так данные гарантировано будут сохранены.
Без диска и флешки
Если не хочется делать диск или загрузочную флешку, можно взять новый жесткий диск и поставить Виндовс туда. Этот метод подойдёт для тех, у кого железо слишком устарело для Windows на 64 бита, и его можно менять весь или только части.
Не лёгкий вариант, но он, же существует, поэтому о нём нельзя умолчать.
Устройство поддержки 32-битных приложений в 64-разрядной Windows
Windows 32 на Windows 64 (WOW64)
WOW64 эмулирует 32-битную Windows
В Windows 64, 32-битные приложения выполняются в эмулированной 32-разрядной операционной системе, которая называется Windows 32 на Windows 64, или WOW64 для краткости. Основной задачей WOW64 является перехват и обработка всех системных вызовов от 32-разрядных приложений.
Для каждого перехваченного системного вызова, WOW64 создает 64-разрядный системный вызов, превращая 32-битные структуры данных в подходящие 64-битные. В последствии, 64-битный системный вызов передается ядру операционной системы для обработки. Все полученные выходные данные 64-битного вызова будут преобразованы и переданы в том формате, на которое приложение рассчитывало. Другими словами, реальные запросы к ядру системы всегда 64-битные. Подсистема WOW64 лишь выступает в качестве посредника, приобразуя данные в подходящие форматы.
Как и 32-битные приложения, WOW64 выполняется от имени пользователя, так что ошибки, которые могут происходить во время преобразования системных вызовов, будут происходить на уровне пользователя. И никак не затронут 64-битное ядро операционной системы.
Тот факт, что WOW64, как и 32-битное приложение, выполняется в режиме пользователя, объясняет причину отсутствия поддержки 32-битных драйверов. Если говорить другими словами, то, для корректного запуска, драйверам требуется режим ядра, который не может обеспечить WOW64. Поэтому, если у вас 64-разрядная Windows, то все драйвера должны быть 64-битными.
Эмулятор WOW64 состоит из следующих 64-разрядных библиотек:
Примечание: Это единственные 64-разрядные библиотеки, которые загружаются в 32-разрядный процесс.
- Wow64.dll — ядро инфраструктуры системы эмуляции. Линкует вызовы в точки входа Ntoskrnl.exe
- Wow64Win.dll — линкует вызовы в точки входа Win32k.sys
- Wow64Cpu.dll — переключает процессор между 32-битным и 64-битным режимом
- Ntdll.dll — 64-битная версия Wow64.
Wow64.dll загружает 32-битную версию (x86) Ntdll.dll и все необходимые 32-битные библиотеки, которые в основном остались без изменений. Однако, некоторые их этих 32-разрядных библиотек все же были изменены, чтобы корректно исполняться в WOW64. Как правило, такие изменения были сделаны из-за того, что они используют оперативную память вместе 64-разрядными компонентами системы
Управление файлами и настройками реестра в WOW64
В дополнение к функциям перехвата и обработки системных вызовов, интерфейс WOW64 так же должен гарантировать, что файлы и параметры реестра 32-битных приложений будут храниться отдельно от файлов и ключей реестра 64-разрядных программ. Для достижения этой цели WOW64 использует два механизма. Перенаправление файлов и реестра, а так же дублирования ключей реестра. Перенаправление поддерживает логическое представление данных и отображает их так, как если бы приложение запускалось в 32-разрядной Windows. Дублирование ключей реестра гарантирует, что изменение ряда параметров, которые не зависят от разрядности, будут доступны как 32-битным, так и 64-битным приложениям.
Перенаправление файлов
Перенаправление файлов позволяет гарантировать, что файлы и каталоги 32- и 64-битных приложений будут храниться отдельно и не мешать друг другу.
Файлы 32-разрядных приложений, по умолчанию, устанавливаются в:
- C:Program Files(x86)
32-разрядные системные файлы устанавливаются в:
- C:WINDOWSSysWOW64
Для 64-разрядных приложений, файлы устанавливаются в:
- C:Program Files
- C:WINDOWSSYSTEM32
Механизм перенаправления WOW64 гарантирует, что запросы от 32-разрядных приложений к каталогам «C:Program Files» и «C:WINDOWSSYSTEM32» будут перенаправлены на соответствующие каталоги для 32-битных версий.
Однако, существует одна проблема с перенаправлением файлов. Пользователи и разработчики должны быть в курсе этой особенности.
Многие 64-разрядные приложения все еще используют 32-битный режим и процедуры. И не учитывают это при создании инсталлятора. Для того, чтобы приложение было установлено правильно. т.е. в «C:Program Files», программа установки должна сделать системный вызов к операционной системе, чтоб система приостановила механизм перенаправления файлов Wow64.
А после установки сделать другой системный вызов, чтобы снова включить перенаправление. Если производить установку без остановки перенаправления, то программа будет установлена в «C:Program Files (x86)». Классическим примером данной ошибки является 64-разрядная версия FireFox 3.5 под кодовым названием «Shiretoko», которая устанавливается в «C:Program Files(x86)Shiretoko». Конечно, Firefox по-прежнему будет нормально функционировать. Единственное, что вы не сможете сделать, так это изменить иконку приложения.
Примечание: Возможно, сейчас эту ошибку в Shiretoko уже исправили. Тем не менее, в ранних версиях было именно так.
Перенаправление реестра
Ключи реестра, специфические для 32-разрядных приложений, будут перенаправлены из ветки:
- HKEY_LOCAL_MACHINESoftware
- HKEY_LOCAL_MACHINESoftwareWOW6432Node
Так же, иногда, можно встретить записи реестра в другой ветке (хотя это необычно):
- HKEY_CURRENT_USERSoftwareWOW6432Node
Такой подход позволяет 32- и 64-битным приложениям нормально сосуществовать, без проблем с перезаписью настроек друг друга.
Дублирование реестра
Некоторые перенаправленные ключи и значения реестра необходимо дублировать. Это означает, что если 32-разрядное приложение вносит изменения в перенаправленном разделе реестра, то эти изменения необходимо так же применять и для веток 64-разрядных приложений. В данном случае действует принцип «кто последний, тот и прав». Например, если вы установите три приложения, привязывающие себя к одному и тому же расширению файла, то ассоциация с расширением файла должны быть с последним приложением.
- Установите 32-битное приложение, которое ассоциирует себя с расширением XYZ
- Установите 64-разрядную версию приложения, которая связывает себя с расширением файла XYZ
- Установите другое 32-битное приложение, которое ассоциирует расширение XYZ с собой
В результате этих действий, по двойному щелчку на файле с расширение XYZ в проводнике Windows должно открыться приложение, которое было установлено на 3-ем шаге. Ведь, именно оно последним ассоциировало себя с расширением.
Все это происходит прозрачно для 32-битных приложений в Wow64, которая самостоятельно перехватывает обращения и дублирует необходимые параметры и ключи реестра. Другими словами, 32-разрядные приложения могут выполнятся стандартным образом, необходимые изменения за них внесет Wow64.
Существует ряд ограничений подсистемы WOW64
Некоторые, но не все, 64-битные функции доступны 32-разрядным приложениям
Wow64 позволяет 32-разрядным приложениям использовать некоторые функции и возможности 64-битных систем. Например, при правильной настройке, такие приложения смогут использовать до 4Гб оперативной памяти. Доступ к другим функциям ограничен из-за особенности устройства 64-битных систем. Например, 64-битная ОС Windows поддерживает 64-битные логические операции. Тем не менее, 32-битные приложения не будут иметь доступ к ним, они смогут использовать только 32-битные логические операции.
Примечание: Основной причиной ограничений служит разница в представлении данных 32- и 64-битных приложений. 32-разрядное приложение попросту не рассчитано на 64-разрядные типы данных.
Нельзя смешивать между собой код (Code Injection) 32-битных и 64-битных приложений
В 64-битной ОС Windows нельзя запускать 32-битный код в 64-разрядном процессе, как и нельзя запускать 64-битный код в 32-разрядном процессе. Приложения, использующие инъекции кода (Code Injection) для добавления функциональности в существующие приложения, как правило, будут выдавать ошибки.
Этот факт объясняет, почему большинство 32-битных расширений оболочки Windows не запускаются под 64-разрядной Windows. Большинство таких расширений используют инъекцию кода (Code Injection) для встраивания в проводник Windows
WOW64 не поддерживает 16-разрядные инсталляторы
WOW64 обеспечивает поддержку 16-битных инсталляторов Microsoft, путем замены инсталлятора на совместимую 32-битную версию. Тем не менее, эта поддержка не распространяется на сторонние продукты. Так что, если вам нужно использовать старую программу, то, скорее всего, придется искать эмулятор или портативную версию.
Дополнительные возможности для запуска 32-битных приложений в Windows 64
Windows Virtual PC
Windows Virtual PC это бесплатное программное обеспечение, которое позволяет запускать несколько операционных систем на одном компьютере. Virtual PC обеспечивает специальную среду исполнения, которая поддерживает устаревшее оборудование и программное обеспечение, которое не будет определяться и запускаться в Windows 7. Все запущенные операционные системы под Virtual PC будут выполняться в виртуальной машине. Это означает, что запущенные операционные системы не будут знать о том, что они запущены в другой системе.
Системные требования и набор функциональности существенно различается между версиями Virtual PC и версиями Windows. Так что, прежде чем пытаться использовать Virtual PC, необходимо проверить, что программа поддерживает как вашу операционную систему, так и те ОС, которые будут на ней запущены. Например, одна из последних версий уже не поддерживает версии Windows ниже Windows XP SP3.
Режим Windows XP (XPM)
Режим Windows XP это конкретная и урезанная реализация Windows Virtual PC, которая поставляется с предустановленной копией Windows XP Professional SP3. Этот режим доступен только в версиях Enterprise, Ultimate и Professional Windows 7 64-бит.
Несмотря на то, какие возможности был бы должен представлять этот режим, многие, кто использовал XPM, настоятельно советуют использовать этот режим только в качестве последнего средства. По сравнению с другими продуктами виртуализации, производительность разочаровывает, а конфигурация по умолчанию вызывает ряд вопросов безопасности.
Примечание: К некоторым более дательным настройкам режима совместимости все же можно обратиться. Более подробную информацию вы можете найти в обзоре Как запустить старые программы на Windows 7 / Vista? (см. Microsoft Application Compatibility Toolkit).
Мультизагрузка ОС Windows
Вы можете установить более одной версии Windows на одном компьютере, с помощью мультизагрузчика. Например, установить 32-разрядную и 64-разрядную версии Windows рядом друг с другом. Каждая операционная система устанавливается на отдельный раздел диска, а менеджер загрузки устанавливается на разделе по умолчанию. Менеджер загрузки позволяет выбрать и запустить операционную систему, которую вы хотите сейчас использовать.
Хоть, вы и не можете одновременно использовать больше одной операционной системы, эта функциональность является достаточно полезной. По сравнению с виртуальными машинами, такой способ не имеет никаких проблем с совместимостью и такие системы гораздо легче настраивать и обслуживать. Кроме всего прочего, установив 32-разрядную версию рядом с 64-битной, вы сохраните возможность запускать 16-битные приложения.
Возможные трудности
О том, что файлы будут удалены, а значит, их нужно будет предварительно вытащить с ПК, уже говорилось ранее, но это не все проблемы, которые могут возникнуть при переводе компьютера с операционки одной разрядности на другую.
Некоторые ПК не потянут такую операционку. Она установится, но работать будет медленнее, чем та, что была раньше, а софт и игры на ней будут ещё тяжелее идти. Поэтому это можно назвать главным условием перехода – определить, подходит ли для имеющегося центрального процессора 64 битные инструкции.
Для этого необходимо определить разрядность процессора, которая обозначается как x64 или x32. Последнее значение предполагает установку только 32-битной Виндовс, x64 позволит установить любую из двух доступных.
Узнать, поддерживает ли процессор желаемую ОС на 64 бита, можно с помощью сторонних приложений: CPU-Z, AIDA64 и других.
Пусть процесс перехода на 64-битную версию Windows не лёгкий, некоторым пользователям стоит о нём позаботиться. И методы, представленные выше, им в этом помогут.
Источник: android-mob.ru
Is File 32-bit or 64-bit
Is File 32-bit or 64-bit Утилита для определения разрядности (х32 или х64) файлов в формате OCX, DLL, CPL, EXE, SYS, SCR или DRV.
Версии
x32/x64 (22.22 МБ)
Нет официального представителя разработчика на сайте
Стать представителем
Рейтинг
Нажмите, для быстрой оценки
Оставить отзыв
Отзывы
Похожие приложения
Alcohol 120%
Версия: 2.1.1.61
Версия: 8.92.0.2 (85.01 МБ)
Версия: 4.0 Buil (10.46 МБ)
Источник: freesoft.ru