Seite 1 von 2
Statische Lib mit Pfaden?
Verfasst: 04.06.2011 18:54
von Mok
Hallo!
Ich baue mir in C++ (VS2010) gerade ein paar statische Bibliotheken, die ich dann in PureBasic beutzen will.
Was ich irgendwie komisch finde, ist, dass im Endergebnis dann eine Menge Pfade (unter anderem zur Codedatei und zum MSVC-Compiler) stehen, die die Datei nur aufblähen.
Ich habe mir vor etwas längerer Zeit eine statische Lib in NASM geschrieben (ebenfalls mit dem MSVC-Linker gelinkt), und die Lib ist auch ohne Pfade ausgekommen, und war (höchstwahrscheinlich genau deshalb) auch um einiges kleiner.
Hat irgendjemand eine Ahnung woher die Pfade kommen? Auf einem anderen Rechner müsste eine solche Lib ja auch ohne Probleme laufen können und zwar das Projekt vorher neu kompilieren zu müssen.
Gruß, Mok.
(Ich hoffe, dass passt, wenn ich das in "Offtopic" schreibe, da es ja am Compiler zu liegen scheint, und nicht an der Sprache)
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 19:40
von ts-soft
Die länge eines Pfades zu einer Lib hat doch keinen Einfluss auf die Grösse der entstehenden Executable
Der Pfad wird nur vom Compiler zur Compilierzeit benötigt und wenn er Dir zu lang ist, dann verschiebe die Lib
doch einfach oder setze die %Path% Variable des systems.
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 20:09
von cxAlex
Er meint das die Pfade zu den Source Files und zum fertigen Binary in das Binary geschrieben werden, so wie ich seinen Post interpretiere.
Gruß, Alex
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 20:12
von ts-soft
cxAlex hat geschrieben:Er meint das die Pfade zu den Source Files und zum fertigen Binary in das Binary geschrieben werden, so wie ich seinen Post interpretiere.
Gruß, Alex
Ach, die Source-Datei ist ihm 1 KB zu gross??? Dann würde ich statt Diskette eine Festplatte für meine Sourcen nutzen

Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 20:17
von Mok
Dann würde ich statt Diskette eine Festplatte für meine Sourcen nutzen
Hahaha

Das war eine Interessensfrage und keine panische Reaktion auf meine freien 138 GB. Ich wundere mich halt nur, dass alle anderen von mir durchforsteten Libs auch ohne Pfade auskommen.
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 20:48
von ts-soft
Ältere Compiler setzen den Pfad zu den Libs:
andere Setzen eine spezielle EnvVar zu den Includes und Libs und wieder andere setzen einen bestimmten Pfad ab
Compiler voraus.
Die Sache mit der Pathvariable ist aber eine sehr schlechte Idee, der linker nutzt die erstgefundene mit diesem
Namen, was nicht immer zum richtigem Ergebnis führt.
Es ist also eine sehr gute Idee, alle Libs die sich nicht im dafür vorgesehenem Ordner von PB befinden, mit
kompletem Pfad anzugeben. Der Exe ist das egal und es wird nix und niemand aufgepustet

Bei Nutzung von VC2010 mußt Du damit rechnen, das Deine Programm erst ab w2k oder XP laufen und der
Linker von PB damit nicht umgehen kann.
Gruß
Thomas
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 21:04
von Mok
ts-soft hat geschrieben:
Bei Nutzung von VC2010 mußt Du damit rechnen, das Deine Programm erst ab w2k oder XP laufen und der
Linker von PB damit nicht umgehen kann.

Tatsache. Wat nu?
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 21:15
von ts-soft
Mok hat geschrieben: 
Tatsache. Wat nu?
Notfalls den 6 er Linker von PellesC ins CompilerDir von PB kopieren. Sowas ist natürlich alles auf eigenes
Risiko. Musst Du selber sehen, was läuft und was nicht und ob Du das so akzeptieren kannst.
Ich würde eher auf VC2010 verzichten, gibt ja auch ältere Versionen und andere Compiler.
Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 21:30
von thminz
Wer braucht den Visualbasic , VisualC , Visualsharp ? Das is doch alles langsam und überladen und gross.
Ich bin froh das ich Purebasic gefunden und gekauft habe!
Purebasic is viiiiiel schlanker und besser!! Und oop brauche ich auch nich! Wers braucht ...

Re: Statische Lib mit Pfaden?
Verfasst: 04.06.2011 21:39
von edel
Spielt keine Rolle ob der Pfad in dem Archiv steckt oder nicht. Ebenso spielt es keine Rolle wie gross das Archiv ist, da immer nur die einzelenen Objektdateien dazu gelinkt werden.
Code: Alles auswählen
Bei Nutzung von VC2010 mußt Du damit rechnen, das Deine Programm erst ab w2k oder XP laufen und der
Linker von PB damit nicht umgehen kann
Das ist eine reine Einstellungssache und das die Programme erst ab w2k laufen...? Wenn interessiert win95 oder 98 noch?
thminz hat geschrieben:Wer braucht den Visualbasic , VisualC , Visualsharp ? Das is doch alles langsam und überladen und gross.
Ich bin froh das ich Purebasic gefunden und gekauft habe!
Purebasic is viiiiiel schlanker und besser!! Und oop brauche ich auch nich! Wers braucht ...

Du kannst mit PB keine statischen Libs schreiben, du musst also eine andere Sprache benutzen. Da VS nunmal eine sehr gute Umgebung dafuer ist, warum sollte man sie nicht nutzen?