2014-08-31 2 views
1

Я пытаюсь сделать программы для старого компьютера под управлением 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?

+1

Вы пробовали устанавливать Microsoft C++ Redistributable? –

+0

Нет. Это единственный способ заставить его работать? – johanmaack

ответ

Смежные вопросы