Несколько дней назад я начал программировать с C после программирования на С++, однако моя 64-битная машина Windows Vista не смогла создать проект C. Я перекомпилировал код с компилятором MinGW Dev-С++ без проблем.
Однако, когда я запустил код, я получил следующую ошибку:
Неподдерживаемое 16-разрядное приложение
Программа или функция «??C:Dev-Cppgcc.exe» не может запускаться или запускаться из-за несовместимости с 64-разрядными версиями Windows. Обратитесь к поставщику программного обеспечения, чтобы узнать, доступна ли версия с 64-разрядной версией Windows.
Это проблема с компиляцией кода C с использованием компилятора С++?
Лучший ответ:
Ошибка, которую вы видите, – это использование античного (как в 16-разрядной версии Windows 3.1) программного обеспечения, которое Windows 64-бит не обеспечивает обратной совместимости. Это не имеет ничего общего с C или С++, просто очень старым компилятором.
Вы можете либо установить Windows 7 с XP-mode, что обеспечивает виртуальную 32-разрядную машину XP, которая работает практически без проблем под управлением Windows 7 или другого 32-разрядного решения для виртуализации или загружает более новую версию gcc.exe или какой-либо другой компилятор, которому менее 20 лет:
НЕПОДДЕРЖИВАЕМОЕ 16-РАЗРЯДНОЕ ПРИЛОЖЕНИЕ. Решение проблемы)
Я получил то же сообщение об ошибке при случайном добавлении переключателя -c , который сообщает компилятору не связывать исполняемый файл. Снятие переключателя заставило его снова работать.
> gcc —help
.
-c Compile and assemble, but do not link
У меня была аналогичная проблема, и это был ответ msiemens, который дал мне подсказку для его решения. Это не связано с версией MinGW. Просто мой файл .exe на самом деле не был исполняемым.
Я пытался скомпилировать и построить с помощью команды:
> g++ -c cpptest.cpp -o cpptest.exe
Но с -c, g++ просто компилируется без ссылки. В результате cpptest.exe представляет собой файл cpptest.o(двоичный файл объекта, но не исполняемый) с другим именем.
Для компиляции и ссылки я затем используется (как указано Алехандро):
> g++ cpptest.cpp -o cpptest.exe
Или в два этапа:
> g++ -c cpptest.cpp -o cpptest.o > g++ cpptest.o -o cpptest.exe
Они создают фактический исполняемый файл.
Это какая-то проблема с Mingw. Проблема заключается не в том, что вы используете старый компилятор. Это случилось со мной с последней версией компиляторов Mingw.
Я нашел обходное решение, которое может помочь некоторым людям. Эта проблема проявляется при создании моего проекта с помощью Makefile. Если я создам его вручную с помощью командной строки, он отлично работает, результат .exe выполняется без проблем.
Компилируя вручную, я имею в виду, например, для С++:
c:mydir > g++ source1.cpp source2.cpp -o myprog.exe
Мое приложение было очень маленьким, всего несколько источников, необходимых для проверки некоторых изменений. Если у вас есть более сложное приложение с Makefile, это обходное решение, вероятно, вам не поможет.
🚩 Неподдерживаемое 16-разрядное приложение
Источник: techarks.ru
не удалось запустить программу из-за несовместимости с 64- разрядной версией
У МЕНЯ Win 7 64 bit,дело в том что, есть одна программа на диске.. ставлю диск как хочет открыться сразу пишет
«не удалось запустить программу из-за несовместимости с 64- разрядной версией»
Кто знает есть ли способ какой нибудь?
Виолетта Барбашина
правой кнопкой мыши по ярлыку программы и жмем свойства, и там будет вкладка «Совместимость», ставим галочку «Запустить программу в режиме совместимости» и выберите Windows XP SP2. и жмите применить. Должна работать, либо найти другую версию.
Сергей Овчеренко
Народ, мне пишет что не удалось закрыть программу или компонент (дальше путь к файлу). Ирония в том что на моём пк нет и в помину небыло такого файла, я перерыл весь комп и даже пользовался командой «win+ r» но я немогу найти этот файл и папку с ним. что делать?
Дима Маркелов
Один из способов — ставишь виртуальную машину (Virtual Box, например) , на неё 32-х битную ось, а на неё эту программу.
Светлана Петренко
Скачайте эту программу в варианте для 64 бит
Источник: sprashivalka.com
Помогите
Hero (Retired)
___________________________________________________________________________
Данный аккаунт не является официальным аккаунтом сотрудника EA.
Сообщение 2 из 7 (1 702 просмотров)
Re: Помогите
- Отметить как новое
- Закладка
- Подписаться
- Подписка на RSS-канал
- Ссылка на сообщение
- Печать
- Пожаловаться
64-битная. Месяц назад играл — всё нормально было.
Сообщение 3 из 7 (1 697 просмотров)
Re: Помогите
- Отметить как новое
- Закладка
- Подписаться
- Подписка на RSS-канал
- Ссылка на сообщение
- Печать
- Пожаловаться
файл LogErr.txt сюда скинешь.
Сообщение 4 из 7 (1 831 просмотров)
Re: Помогите
- Отметить как новое
- Закладка
- Подписаться
- Подписка на RSS-канал
- Ссылка на сообщение
- Печать
- Пожаловаться
Неподдерживаемое 16-разрядное приложение
Не удалось запустить программу или компонент «??D:Games newBattlefield 4BF4WebHelper.exe» из-за несовместимости с 64-разрядной версией Windows. Обратитесь к разработчику программного обеспечения за версией программы, совместимой с 64-разрядной версией Windows.
Сообщение 5 из 7 (1 683 просмотров)
Re: Помогите
- Отметить как новое
- Закладка
- Подписаться
- Подписка на RSS-канал
- Ссылка на сообщение
- Печать
- Пожаловаться
Сообщение 6 из 7 (1 666 просмотров)
Re: Помогите
- Отметить как новое
- Закладка
- Подписаться
- Подписка на RSS-канал
- Ссылка на сообщение
- Печать
- Пожаловаться
так пару вариантов.
запустить 32битную версию игры
внести в исключения антивируса екзешник BF4WebHelper
или выключить антивирь (проверить его карантин и если что, восстановить оттуда файлы.
проверить пк на вирусы
и в ориджине пкм на бф4 и «УСТРАНИТЬ НЕПОЛАДКИ»
Наиболее частые причины возникновения данной ошибки:
— Файлы клиента были повреждены или изменены .
В этом случае необходимо проверить компьютер антивирусной программой и полностью переустановить клиент.
— Работу клиента блокирует какая-либо антивирусная программа .
Такую проблему может вызывать, например, антивирус Trend Micro Titanium Internet Security.
Источник: answers.ea.com