2008-09-28 11 views
8

Ich habe viele kleine DLLs, die ich gerne in eine große (er) DLL (wie suggested here) machen würde. Ich kann dies tun, indem ich meine Projekte zusammenführe, aber ich möchte weniger aufdringlich sein.Verschmelzen mehrere native DLLs in eine DLL

Können mehrere DLLs zu einer Einheit zusammengeführt werden?

Eine schnelle Suche gefunden this thread, die behauptet, dies ist nicht möglich. Weiß jemand etwas anderes?

Beachten Sie, dass ich über nativen C++ - Code nicht .NET sprechen, also ILMerge ist out.

Antwort

1

Ich weiß nicht über das Zusammenführen von DLLs, aber ich bin sicher, dass Sie die Zwischenobjektdateien in eine DLL verknüpfen können. Dies würde nur Änderungen in Ihrem Build-Skript erfordern.

1

Soweit ich weiß, können Sie DLL-Dateien nicht direkt zusammenführen. Aber es sollte mit statischen Bibliotheken oder Objektdateien möglich sein. Wenn es möglich ist, statische Bibliotheken Ihrer Projekte zu erstellen, können Sie sie mit der Library Manager zusammenführen, indem Sie Objektdateien aus allen Bibliotheken extrahieren und in eine neue Bibliothek packen.

0

Außerdem gab es ein Produkt, das eine .LIB aus .DLLs machte. Sie könnten dann Ihre exe mit dieser .LIB verknüpfen und die .DLLs ganz loswerden. Vielleicht könnten Sie ein .DLL aus der .LIB verknüpfen - ich bin mir nicht sicher.

Das Produkt ist hier: http://www.binary-soft.com/dll2lib/dll2lib.htm Ich bin nicht sicher, wenn es nicht mehr funktioniert, wenn es oder sogar verkauft unterstützt wird. Es scheint sehr teuer, aber es hatte (nag-aktiviert) kostenlose Testphase.