Ich habe mehrere C freie Software / Open-Source-Bibliotheken, die ich unter Linux und OSX mit der GNU-Toolchain (automake, conf, flex, bison, gcc, ...) entwickle, bekomme aber gelegentlich Anfragen zur Bereitstellung von Windows-DLLs. Ich würde gerne in der Lage sein, diese bereitzustellen, ohne viel Zeit und Geld mit Windows Visual Studio-Entwicklung verbringen zu müssen. Ich habe eine virtuelle Windows XP-Maschine zur Verfügung und ich weiß auch, dass die Software portierbar ist, da ich gelegentlich Patches bekomme, um es in Windows einzubauen.
Welche Ansätze oder Werkzeuge sollte ich verwenden? Cross-Compiling unter Linux? Verwenden von Visual Studio Express oder etwas anderes? Ich würde etwas bevorzugen, das aus einem SVN-Repository vollständig automatisiert ist. Ich zähle Cygwin nicht als eine Lösung, da das nicht zu liefern scheint, was Windows-Entwickler benötigen, soweit ich die Probleme verstehe - Verlinkung und DLLs.
Sie können Mingw mit MSYS, Visual Studio (Express) mit SUA (Subsystem für Unix-Anwendungen) oder Cygwin versuchen, Programme zu kompilieren, die automake / autoconf-basiert sind (./configure & amp; make zum Erstellen unter Linux).
Leider ist die von ihnen erstellte lib-Datei normalerweise nicht mit anderen Compilern kompatibel. Wenn Sie also Ihre Bibliothek mit einer Anwendung verwenden möchten, die mit Visual Studio entwickelt wurde, sollten Sie den VSC ++ -Ansatz verwenden. Normalerweise haben viele GNU-Projekte (siehe gnuwin32 ) auch VC-kompatible Build-Skripte, die mit "nmake" kompiliert werden können >
Sie können MinGW verwenden oder die MSVC-Befehlszeilenwerkzeuge von Visual Studio Express .
Beide können von Befehlszeilenskripten gesteuert werden.
Ich könnte mir vorstellen, dass eine Kreuzkompilierung von Linux auch funktionieren würde, aber ich habe keine Ahnung, wie einfach (oder schmerzhaft) das sein könnte.
Dieser kurze Artikel zeigt eine einfache Kreuzkompilierung einer Windows-Anwendung & amp; Diese App unter Wine ausführen:
Das Windows Software Development Kit enthält den Microsoft C / C ++ - Compiler (Befehlszeile nur ohne visuelle Tools), so dass Sie nicht einmal Visual C ++ Express Edition benötigen. Das Windows SDK ist ein kostenloser Download von Microsoft.
Wenn Sie Ссылка verwenden, kann cmake das Makefile (für Unix) und die Projektdatei (für Visual Studio) erstellen. Dies ist zum Beispiel das KDE-Projekt.
Der Compiler von Visual Studio kann über eine Windows-Befehlszeile mit 'devenv / build debug project.csproj' in der cmake-generierten Datei gestartet werden. Dies erfordert jedoch ein Windows (möglicherweise in einer VM) mit einem (möglicherweise kostenlosen) Visual Studio installiert.
Tags und Links windows visual-studio gnu cygwin porting