Es gibt viele Open-Source-Bibliotheken, die mit Visual Studio kompiliert werden können. Ich portiere ein Programm von Linux zu Windows, aber es hängt von einer Anzahl von Bibliotheken ab. Ich weiß nicht, welche Best Practices für Bibliotheken unter Windows gelten.Wie sollten Open Source-Bibliotheken unter Windows verwendet werden?
Unter Linux sind diese Bibliotheken normalerweise Teil der Distribution. Um zum Beispiel sqlite unter Debian zu verwenden, müssen Sie nur libsqlite3-dev
installieren und die Include-Dateien und Bibliotheken (sowohl statische als auch dynamische) werden automatisch installiert und stehen Ihrem Programm zur Verfügung.
Wenn Sie eine andere Version als Ihre Distribution liefert benötigen, können Sie es in Ihrem Home-Verzeichnis kompilieren, installieren Sie sie auf ~/include
und ~/lib
, und stellen Sie den entsprechenden environment variables so dass der Compiler diese Verzeichnisse in seinen Suchpfad enthält.
Wie können Bibliotheken, die als Quelle unter Windows verteilt werden, am besten verwendet werden? Wenn ich dynamisch und nicht statisch verknüpfe, gibt es eine einfache Möglichkeit, die erforderlichen DLLs in das Ausgabeverzeichnis zu kopieren, um die Neuverteilung zu erleichtern (vorausgesetzt, die Lizenzanforderungen sind erfüllt)?
Ich hatte gehofft, es gäbe eine geniale oder zumindest standardisierte Vorgehensweise, aber das scheint alle Möglichkeiten zu umfassen. –
Das nächste Analogon zur Unix-Umgebung von Windows ist der binäre WinSxS-Ordner, der eine völlig unglaubliche Möglichkeit bietet, offizielle, signierte, aber binäre Builds von Bibliotheken so zu verteilen, dass mehrere verschiedene Versionen nebeneinander existieren können und Anwendungen (und Entwickler) könnten die Version wählen, die ihren Bedürfnissen entspricht. –
Leider scheinen jedoch keine OSS-Projekte so zu funktionieren, dass (a) binäre Builds für Windows erstellt werden, (b) die Zertifikate zur digitalen Signierung ihrer Ausgaben für WinSxS-Include erhalten werden, (c) arsed, dies zu tun. –