Ich brauche Hilfe beim Schreiben von plattformübergreifendem Code; keine Anwendung, sondern eine Bibliothek.C++ plattformübergreifende dynamische Bibliotheken; Linux und Windows
Ich erstelle eine Bibliothek sowohl statische als auch dynamische mit den meisten der Entwicklung in Linux gemacht, ich habe die statische und gemeinsam genutzte Bibliothek in Linux generiert, wollte jetzt aber eine Windows-Version einer statischen und dynamischen Bibliothek im Formular generieren von .lib
und .dll
mit dem gleichen Quellcode.
Ist das möglich? Ich bin ein bisschen besorgt, weil ich festgestellt habe, Windows .dll
Dateien mit Hilfe von _dllspec
oder etwas ähnliches in Ihrem Quellcode zu erzeugen.
Wenn nicht, kann mir jemand die beste und schnellste Lösung empfehlen, um meinen Code auf Windows zu kompilieren. Ich muss das Kompilieren unter Linux nicht machen, ich mache das gerne direkt unter Windows. Außerdem verwende ich zwei externe Bibliotheken, Boost und Xerces XML, die ich sowohl auf meinem Windows als auch auf meinem Linux-System installiert habe, also sollten sie hoffentlich kein Problem darstellen.
Was ich wirklich will, ist eine einzige Quellcode-Kopie, die unter Linux und Windows kompiliert werden kann, um Bibliotheken für jede Plattform zu generieren. Es ist mir egal, ob ich meinen Code zugunsten von Windows oder Linux bearbeiten muss, solange ich eine einzige Quellcode-Kopie haben kann.
Cross-Compiling bezieht sich normalerweise auf das Erstellen von Software auf einer Plattform, die auf einer anderen ausgeführt werden soll. Da Sie sagen, dass Sie Quellcode möchten, der sowohl unter Linux als auch unter Windows kompiliert werden kann, geht es bei Ihrer Frage mehr um das Schreiben einer portablen, plattformübergreifenden Quellcode-Basis als um das Cross-Compilieren. –
GIYF Eigentlich in diesem Fall libtool ist dein Freund ... –
Während Sie auf Antworten warten Besuche CMake: http://www.cmake.org/ – Pete