Kompilér Linux-applikation til Windows (C)

Indlæg af Hanne Mølgaard Plasc

Problem



kan jeg kompilere en linux-applikation med kun Linux-tilgængelige biblioteker til Windows?


Jeg ved, at forfatteren af ​​nginx webserver bruger nogle vinværktøjer til at få sit Linux-baserede projekt til at arbejde på win32, nativt, men hvordan gør han det?


Er MinGW support til at oprette Windows-binære filer, der er forbundet med Linux-specifikke biblioteker/overskrifter?


PS: Jeg vil ikke bruge cygwin på grund af stor tabt om ydeevne ...

Bedste reference


Hvis du bruger noget som mingw32-miljø, skal du finde eller bygge dig selv alle biblioteker, som projektet vil bygge på (og alle biblioteker, som disse biblioteker afhænger af).


Du kan ende med at skulle gennemføre nogle funktioner, der mangler på den platform. En af grundene til, at cygwin er langsom, er hoopsne, det skal springe igennem for at simulere unix-y ting, der mangler på Windows.

Andre referencer 1


Så længe projektet bruger standardbiblioteker på Linux og ikke afhænger af noget, der er specifikt for Linux-platformen, kan Mccw-porten i GCC kompilere den på Windows.


Hvis du er bekendt med Linux-værktøjer, og du ikke har Cygwin, vil du måske kigge på MSYS: [1]



  MSYS er en samling af GNU-værktøjer som bash, make, gawk og grep for at tillade opbygning af applikationer og programmer, der afhænger af traditionelt UNIX-værktøjer til at være til stede. Det er beregnet til at supplere MinGW og manglerne på cmd-skalen.