Я получаю сообщение об ошибке «Приложение не удалось правильно запустить (0xc000007b). Нажмите кнопку ОК, чтобы закрыть приложение».Когда я пытаюсь запустить программу, скомпилированную с Visual Studio 2005.
Когда я запускаю программу Windows «зависит» от этого исполняемого файла, я вижу ТОННУ DLL, которые перечислены как «x86» dll.Похоже, что это все библиотеки DLL операционной системы (находятся в каталоге c: \ windows \ system32).«Зависит» перечисляет их как красный, где он описывает архитектуру, так как я делаю двоичный файл AMD64.Некоторые из библиотек DLL (библиотеки QT, которые я скомпилировал из исходного кода) указаны как AMD64.
Я попытался добавить "c: \ windows \ SysWOW64" к моему пути перед "c: \ windows \ system32" и пересобрать мое приложение.Для меня это похоже на то, где живут 64-битные версии этих DLL.Это все еще получает то же самое сообщение об ошибке.Мой проект настроен для сборки как проект x64.В моем проекте -> свойства -> компоновщик -> расширенный -> целевой компьютер, я пробовал и «MachineX64» и «не установлено».Обе эти настройки приводят к одному и тому же сообщению об ошибке во время выполнения, когда я пытаюсь запустить свой исполняемый файл.
Я не очень хорошо разбираюсь в создании программного обеспечения в среде Windows.Большая часть моего опыта исходит от Linux.Мне кажется, это проблема архитектуры DLL, но я не уверен.Google это сообщение об ошибке не предоставило мне много полезной информации.Любая помощь будет высоко ценится.Я только начал новую работу, и, похоже, у меня возникло много проблем, когда дело доходит до запуска нашего кода ...
Большое спасибо, что нашли время прочитать мой вопрос,
-Брайан Дж. Стинар-
Прежде всего, большое спасибо за предоставленную мне обратную связь.
'set' предоставляет мне следующую информацию, которая, я считаю, поможет ответить на некоторые ваши вопросы.Поскольку я не очень хорошо знаком с системным администрированием Windows, пожалуйста, дайте мне знать, есть ли какие-либо другие команды, которые, по вашему мнению, я должен выполнить, чтобы предоставить вам более полезную информацию.Вывод, который я считаю релевантным из 'set', приведен ниже:
LIBVERSION = win64
PROCESSOR_ARCHITECTURE = AMD64
PROCESSOR_IDENTIFIER = Intel64, семейство 6, модель 26, шаг 5, GenuineIntel
PROCESSOR_LEVEL = 6
PROCESSOR_REVISION = 1a05
В свойствах моей системы я обнаружил следующие значения, которые, как мне кажется, помогут прояснить мою ситуацию:
Windows 7
Процессор: Intel (R) Xeon (R) CPU W3530 @ 2,80 ГГц 2,79 ГГц
Тип системы: 64-разрядная операционная система
Я не совсем уверен, что яЯ понимаю разницу между x64 и ia64, но насколько я понимаю, ia64 для процессоров класса Itanium, которых у меня нет.Я считаю, что у меня есть процессор x64.Это согласно чтению поста на
http://mikedimmick.blogspot.com/2006/03/whats-difference-between-x64-and-ia-64.html
Процессоры Xeon попадают в категорию x64.Я не уверен, понимаю ли я, как AMD64 вписывается в это все же.
Должны ли я иметь библиотеки DLL AMD64, на которые я ссылаюсь, и должна ли моя программа быть в списке процессоров типа AMD64, если у меня действительно есть чип Intel Xeon?
Еще раз спасибо за вашу помощь,
-Брайан Дж. Стинар-