Я пытаюсь сделать программы для старого компьютера под управлением Windows 98 второго издания, но они не будут работать.g ++ программы для Windows 98
Программы написаны на C++, и они скомпилированы с помощью MinGW (g ++ version 4.8.1), установленного на компьютере под управлением Windows Vista. Для тестирования я попробовал эту простую программу Hello World:
#include <iostream>
using namespace std;
int main(){
cout <<"hello world";
return 0;
}
Для компиляции я использовал эту команду:
g++ hello.cpp -o hello.exe
При попытке запустить программу на компьютере Windows 98. Я получаю следующее сообщение:
A required .DLL file, LIBGCC_S_DW2-1.DLL, was not found.
Поэтому, чтобы сделать исполняемый файл независимым от dll-файлов, насколько это возможно, я попытался скомпилировать программу с помощью команды:
g++ hello.cpp -static -o hello.exe
Но при попытке программы на компьютере Windows 98 теперь я получаю сообщение:
The hello.exe file is linked to missing export MSVCRT.DLL:_fstat64
анализировать проблему, я попробовал несколько вещей. И я заметил, что компиляция того же кода с той же командой с использованием g ++ версии 2.95.2 вместо этого, программа смогла работать на машине Windows 98. Однако я бы предпочел не использовать эту старую версию g ++, поскольку она содержит несколько проблемных ошибок.
Я также заметил, что аналогичная программа, выполненная в обычном c (скомпилирована с gcc версии 4.8.1), также отлично работала на старом компьютере, но я бы предпочел не использовать обычный c, поскольку для этого потребовалось бы переписать много C++ код.
Итак, вопрос: как я могу сделать C++-программы, скомпилированные с g ++ 4.8.1 (или более поздними версиями), запущенными на компьютере под управлением Windows 98?
Вы пробовали устанавливать Microsoft C++ Redistributable? –
Нет. Это единственный способ заставить его работать? – johanmaack