PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dynamic Linking: Portabel und C++?


mekakic
2013-02-27, 17:04:51
Hallo. ich versuche gerade einige Punkte eines Projekts in DLLs auszulagern. Zum einen weil dort demnächst noch größeres Wachstum ansteht und ich den Wildwuchs an Buildabhängigkeiten für jede Komponente vom Hauptprojekt trennen möchte... dazu werden je nach runtime Konfiguration nicht immer alle Komponenten benötigt. Und diese Entwicklung wird im Laufe des Projekts noch steigen; d.h. mehr Komponenten mit esoterischen Abhängigkeiten und pro Runtime Konfiguration/Plattform eine konstante aber damit relativ immer kleinere Schnittmenge.

Ich habe mir mehrere Tutorials durchgelesen und glaube auch einigermaßen verstanden zu haben, wie ich dies auslagern muß. Mal davon abgesehen daß es noch nicht funktioniert:

Kriegt man dies Plattformunabhängig konstruiert... also am Besten den ganzen export, import, loaddll Teil betriebssystemunabhängig unter gleicher schnittstelle zu verpacken? Bei der sonst ersten Anlaufstelle dieser Art (boost) habe ich nichts Passendes gefunden. Gibt es Frameworks zum Dynamischen Linken die so die gängigen Plattformen (Windows (.dll), Linux (.so), Mac evtl. (.dylib)) unterstützen oder wie geht man da vor?

Gast_samm
2013-02-27, 17:22:55
CMake verwenden und dort abhängig vom OS vorgehen, z.B.

IF(WIN32)
# Windows-Spezifisches hier
ELSE(WIN32)
IF(APPLE)
# Mac-OS-Spezifisches hier
ELSE(APPLE)
# Linux-Spezifisches hier
ENDIF(APPLE)
ENDIF(WIN32)

Coda
2013-03-01, 17:03:26
http://boost-extension.redshoelace.com/docs/boost/extension/index.html