Kompilér Ada-program til Linux ved hjælp af Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Hvis jeg vil kompilere et program, der er skrevet i Ada, må jeg selvfølgelig GNAT bruge.


Da min computer har Windows som eneste operativsystem, kan jeg normalt ikke bruge GNAT. Ret? Således fik jeg Cygwin, som gør det muligt for mig at bruge GNAT på Windows.


Men resultatet er en eksekverbar, der kører under Windows - ikke Linux. Så hvordan kan jeg kompilere Ada-koden til Linux, selvom jeg kun har Windows? (Tænk ikke på grundene ...)


Er det muligt med Cygwin? Skal jeg installere en virtuel maskine med Linux? Eller er der en anden (lettere) løsning på dette problem?

Bedste reference



  Jeg skal selvfølgelig bruge GNAT.



Ikke sandt; der er andre Ada kompilatorer. (GNAT er den eneste jeg kender til det er gratis.)


At køre GNAT under Cygwin giver dig Cygwin-eksekverbare filer, som er Windows-eksekverbare filer, der afhænger af cygwin1.dll. De vil ikke arbejde på Linux. Se 'Hvad ... er det ikke?' På Cygwin-hjemmesiden. [2]


Der er en GNAT til Windows. GNAT Pro-versionen indeholder en liste over understøttede platforme her; det omfatter Linux og Windows, men det viser ikke en Windows-til-Linux kryds compiler. [3]


Da GNAT er gratis software (GNAT Pro isn 't er lidt mere kompliceret, jeg har ikke fået det) kan der godt være en GNAT-kompilator til Linux til Linux, eller, Hvis du er virkelig ambitiøs, kan du bygge en selv (eller ansætte nogen til at gøre det for dig).


Men installation af GNAT på et Linux-system er den nemmeste tilgang. Det er ikke at være en virtuel maskine. Hvis du har hardwaren, kan du selv installere et Linux-system, eller du kan konfigurere et dual-boot-system på din Windows-boks. Ubuntu har et Windows-installationsprogram, Wubi, der installerer et Ubuntu-billede som en Windows-fil, det gør det ikke muligt at køre Windows og Ubuntu samtidigt, men det giver dig mulighed for dual-boot uden at skulle genpartitionere. [4]


Der er andre muligheder; Det er bare dem, jeg er bekendt med.

Andre referencer 1



  Er det muligt med Cygwin?



Det er sandsynligvis muligt .



  Skal jeg installere en virtuel maskine med Linux? Eller er der en anden (lettere) løsning på dette problem?



Installation af en Linux på en virtuel maskine er sandsynligvis den enkleste løsning på dit problem.

Andre referencer 2



  Da GNAT er gratis software (GNAT Pro er ikke, jeg kan ikke komme ind i det) kan der godt være en Windows-til-Linux GNAT-kryds-compiler - eller hvis du er virkelig ambitiøs, kan du bygge en selv (eller ansætte nogen til at gøre det for dig).



Faktisk GNAT Pro er fri software, fri som i frihed, ikke som i øl.


Og jeg tror, ​​at det ville være enklest at installere Linux i virtuel maskine og kompilere med det.

Andre referencer 3


AdaCore har en gnat compiler til Windows-operativsystemet frit tilgængelig på: http://libre.adacore.com/libre/download/og vælg 'Free Software ...' og klik på 'Build your Download Package' og gå derfra. Som Keith Thompson foreslår, kan du opsætte en dual-boot-løsning, hvis du faktisk har brug for en Linux-kompatibel eksekverbar. Husk noget program, der er udarbejdet på Windows-resultater, i en Windows-only-eksekverbar, medmindre du har en compiler, der muliggør krydskompilering. [5]

Andre referencer 4


Det blev muligt for dem, der bruger Windows 10 64 bit med nyt 'Linux Subsystem' -funktion. Du kan installere gnat på det og bruge det til at kompilere ELF-binære filer samt Windows-binære filer. [6]