.bpl und .dll in .exe einbinden


#1
Hi Leute,
und nun die nächste Frage ^^:

Ich habe jetzt mein Programm fertig und habe es einem Kumpel geschickt.
Wie zu erwarten war benötigte er mehrere .bpl Dateien und dll Dateien, bei einer Konsolenanwendung war der Spaß ja noch einfach, einfach die eine DLL suchen und schicken.
Doch nun werden es nimmer mehr ^^
Gibts es eine Möglichkeit die benötigten Dateien direkt mit der exe zu erstellen oder sie einzubinden, sodass ich sie nicht einzeln suchen und verschicken muss?
Und gibt es einen anderen weg mit dem Borland C++ Builder 2007 exe´n zu erstellen oder muss ich diese weiterhin aus Debug raus kopieren?


Vielen Dank im Vorraus
Asix
 

CSANecromancer

Erfahrenes Mitglied
#2
Also mit dem CBuilder 2007 habe ich keine Erfahrung, aber früher (CBuilder 6) war es so, daß du bei den Projekteigenschaften angeben konntest,

a) ob Debuginformationen verwendet werden sollen.
Wenn du also dein Programm weitergeben willst, dann musst du die natürlich alle deaktivieren. Bei mir beim Borland Developer Studio 2006 (allerdings derzeit unter Delphi .net und kein C++) sind das z.B.:
Projekt->Optionen->Compiler->Debuggen->Debug-Informationen
Projekt->Optionen->Compiler->Debuggen->Lokale Symbole
Projekt->Optionen->Compiler->Debuggen->Referenz-Info
Projekt->Optionen->Compiler->Debuggen->Assertion
Projekt->Optionen->Linker->.PDB-Debuginfodatei erzeugen
Projekt->Optionen->Linker->Mit ext. Debug-Symbolen
Projekt->Optionen->Linker->.DRCIL-Datei erzeugen
Projekt->Optionen->Debugger->Symboltabelle->Alle Symbole laden

Wenn ich einen Release compilieren will, dann muß das alles deaktiviert werden und ich muß das gesamte Projekt einmal vollständig neu erzeugen. Entsprechende Optionen wird es sicher auch unter C++ geben.


b) ob du Laufzeitbibliotheken verwenden willst.
Das heisst einfach, daß die ganzen speziellen Borland DLLs erst zur Laufzeit, wenn sie benötigt werden, geladen werden. In diesem Falle müssen natürlich diese DLLs (und das dürften nicht wirklich wenige sein) mit deinem Programm zusammen ausgeliefert werden. Eleganter ist das direkte Linken der DLLs in die EXE (was früher nur aus Speicherplatzgründen teils unterlassen wurde). Auch hierfür gibt es eine Projektoption "Laufzeitbibliotheken verwenden". Diese Option muß deaktiviert sein und dann wieder das gesamte Projekt einmal komplett neu erstellen.


Danach sollte es mit dem Weitergeben klappen.
 
#4
Hallo,

Im Prinzip brauchst Du Dich nur um zwei Haken in den Projekteigenschaften zu kümmern.
Zum Einen unter der Rubrik Linker -> Linken und dort ist das der Haken Dynamische RTL
Zum Zweiten unter der Rubrik Packages die Option Laufzeitpackages verwenden

Mehr mache ich nie und es funktioniert sowohl bei 2006/2007 und 2009!

Debug-Informationen ist z.B. bei mir immer angehakt, konnte aber bisher alles auf verschiedenen Rechnern und Systemen verwenden...
 
#6
Nein, hat keine Konsequenzen!
Ausser die positive, daß Du Deine Projekte weitergeben kannst ohne .bpl's und .dll's mitbeizufügen. ;)
Die IDE integriert diese beim Compilieren und Linken in Deinem Projekt. Daher ist die .exe natürlich etwas größer.
 
Zuletzt bearbeitet: