visuel studio - Hvad er den bedste måde at opbygge open source-biblioteker DLL'er til Windows-udviklere til at bruge?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har flere C fri software/open source biblioteker, som jeg udvikler på Linux og OSX med GNU toolchain (automake, conf, flex, bison, gcc, ...), men jeg får lejlighedsvis anmodninger om at levere Windows DLL'er. Jeg vil gerne være i stand til at give dem uden at skulle bruge meget tid og penge med Windows Visual Studio-udvikling. Jeg har en Windows XP-virtuel maskine til rådighed, og jeg ved også, at softwaren er bærbar som lejlighedsvis får jeg lapper til at lave det bygger ind på vinduer.


Hvilke tilgange eller værktøjer skal jeg bruge? Kryds kompilering på Linux? bruger Visual Studio Express eller noget andet? Jeg foretrækker noget, der er fuldt automatiseret fra et SVN-depot. Jeg tæller ikke cygwin som en løsning, da det ikke synes at angive, hvad Windows-udviklere har brug for, så vidt jeg forstår problemerne - linking og DLL'er.

Bedste reference


Du kan prøve Mingw med MSYS, Visual Studio (Express) med SUA (delsystem til unix-applikation) eller Cygwin til at kompilere programmer, der er automake/autoconf-baserede (./konfigurere & gøre for at opbygge under Linux).


Desværre er den lib-fil, de opretter, desværre ikke kompatibel med andre kompilatorer, så hvis du vil have dit bibliotek til at fungere med et program, der er udviklet ved hjælp af Visual Studio, skal du bruge VSC ++-tilgangen. Normalt har mange GNU-projekter (check gnuwin32) faktisk også VC-kompatible build scripts, som kan kompileres ved hjælp af 'nmake' [1]

Andre referencer 1


Du kan bruge MinGW eller installere MSVC kommandolinjeværktøjer fra Visual Studio Express. [2] [3]


Enten af ​​dem kan styres af kommandolinjeskript.


Jeg forestiller mig, at en krydsopsamling fra Linux også ville fungere, men jeg har ingen anelse om, hvor nemt (eller smertefuldt) det kunne være at komme i gang.


Denne korte artikel viser en simpel kryds kompilering af en Windows-applikation & kører den app under vin:



  • http://www.linuxjournal.com/node/1005753


Andre referencer 2


Windows Software Development Kit indeholder Microsofts C/C ++ compiler (kun kommandolinjen uden visuelle værktøjer), så du behøver ikke engang Visual C ++ Express Edition. Windows SDK er en gratis download fra Microsoft. [4]

Andre referencer 3


Hvis du bruger http://www.cmake.org/, kan cmake oprette Makefile (for Unix) og projektfilen (til Visual Studio). Det er f.eks. KDE-projektet bruger. [5]


Visual Studio s kompiler kan startes fra en Windows kommandolinje med 'devenv/build debug project.csproj' på den cmake genererede fil. Dette kræver dog en Windows (muligvis i en VM) med en (potentialfri) Visual Studio installeret .