ReactOS/Instalace-chyby
< ReactOS
překladač zahlásí zastaralé binutils, ale vy ho máte aktuální
editovatPravděpodobně máte aktuální linuxové binutils, ale nikoliv ty z MingW32. Nainstalujte nejnovější verzi MingW32.
Následující řešení není řešením, ale spíš hack - v podstatě odstraňuje kontrolu verzí:
zakomentujte tyto řádky v souboru tools/tool-check.c z tohoto stavu:
#if (BINUTILS_VERSION_DATE >= 20040902 && BINUTILS_VERSION_DATE <= 20041008) || (BINUTILS_VERSION_DATE < 20031001)/ #error "Due to technical reasons your binutils version can't be used to" \ "build ReactOS. Please consider upgrading to newer version. See" \ "www.mingw.org for details." #endif
na tento:
/*#if (BINUTILS_VERSION_DATE >= 20040902 && BINUTILS_VERSION_DATE <= 20041008) || (BINUTILS_VERSION_DATE < 20031001) #error "Due to technical reasons your binutils version can't be used to" \ "build ReactOS. Please consider upgrading to newer version. See" \ "www.mingw.org for details." #endif*/
překladač zahlásí problém s nekompatibilitou pointerů v ntoskrnl/kdinit.c a skončí chybou
editovatPravděpodobně máte starou nebo z jiného důvodu nepodporovanou verzi GCC. Upgradujte GCC z balíčku MingW32.
Workaround:
Nahraďte část souboru reactos/nttoskrnl/kd/kdinit.c:
PKDP_INIT_ROUTINE InitRoutines[KdMax] = {KdpScreenInit, KdpSerialInit, KdpInitDebugLog}
na toto:
PKDP_INIT_ROUTINE InitRoutines[KdMax] = {(PKDP_INIT_ROUTINE)KdpScreenInit, (PKDP_INIT_ROUTINE)KdpSerialInit, (PKDP_INIT_ROUTINE)KdpInitDebugLog}