Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Sorry, ich habe auf die sache mit den headern nicht geantwortet, weil ich dachte, dass es sich mit Lazarus vielleicht erledigt.
Die eleganteste Art, in Lazarus sowas mit Headern zu realisieren, ist sie in ein Package zu tun (und daher in den Suchpfad dieses Packages), dieses dann zu Speichern, Kompilieren und Installieren. Wann immer du die Header dann brauchst, gehst du einfach in den Project Inspector (findet sich im Project-Menü) und fügst das Paket als Abhängigkeit hinzu. Vielleicht geht das sogar automatisch, weiss ich gerade nicht (ich machs immer manuell).
Dann musst du nicht die projektspezifischen Suchpfade zuspammen sondern hast das alles schön in Ordnung .
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Hm, würde es sich da nicht anbieten so ein fertiges Package auf der Seite zum Download zu Verfügung zu stellen?
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ein Package für einen Header? Also wenn die Packages in Lazarus nur ansatzweise so arbeiten wie in Delphi, dann ist ein Package schon mehr Aufwand. Zu mal die Packages vermutlich nicht mal kompatibel sein werden. Also Lazarus Linux/Lazarus Windows bzw Delphi/Lazarus. Und dann noch nicht mal FPC sondern wirklich nur Lazarus.
Das Einzige was man für einen Header oder irgendwelche anderen Units machen muss ist diese in die Uses Klauses mit einzubeziehen. Wenn in der IDE oder beim Kompiler ein globales Verzeichniss gesetzt ist, dann findet er die automatisch. Mehr gibts da nun wirklich nicht zu tun.
Wie das bei FreePascal geht hat Waran schon gesagt und bei Lazarus könnte man das wahrscheinlich in der IDE einstellen.
Naja, ich meinte für jede beliebtere Kombo ein Package:
Linux, Windows, Lazarus, Delphi => das macht 4 Kombinationen.
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Naja, unter Delphi ist das mit den Suchpfaden zugegebenermaßen etwas einfacher als unter Lazarus. Da passieren manchmal schon komische Dinge und das komfortabelste, was ich bisher gefunden habe, waren halt Packages. Und zu dem Package würde dann halt der komplette Lib-Ordner vom DGL gehören, sodass man das alles auf einen Schlag zur verfügung hat, wenn man das Package einbindet. Das bedeutet ja nicht, dass alle Units einkompiliert werden, aber dass sie halt von der IDE und vom Compiler gefunden werden.
Von der Packageinstallation unter Lazarus darf man scih nicht abschrecken lassen, selbst wenn man dabei die IDE neu kompiliert - das geht reibungslos und so einfach wie eine Packageinstallation bei Delphi - man sagt, Install, der sagt, er will die IDE neu kompilieren, man sagt okay, wartet nen paar Minuten (nur beim ersten mal, wenn erstmal alle Units kompiliert wurden, gehts jedes folgende Mal schneller) und hats installiert.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
@Lord Horazont: Aber im Endeffekt genügt es doch auch, wenn man dem Kompiler einen Suchpfad mitteilt oder? Wenn das in Lazarus schwieriger ist als ein Packet zu installieren und damit die IDE neu zu kompilieren ist meiner Meinung nach irgendwas falsch gelaufen.
Ziz hat geschrieben:
Naja, ich meinte für jede beliebtere Kombo ein Package: Linux, Windows, Lazarus, Delphi => das macht 4 Kombinationen.
Da bleibt mir nur übrig dir viel Spaß beim Erstellen zu wünschen. Ich kann mir nämlich nicht vorstellen, dass jemand da so viel Sinn drin sieht um das freiwillig machen zu wollen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Klar, es ist einfacher, den Suchpfad hinzuzufügen. Aber dann sollte man auch einen Output-Pfad für Binaries hinzufügen (und sei es einfach nur das Projektverzeichniss), sonst hat man irgendwann das totale PPU-Chaos (sowas wie DCU). Und was passiert, wenn der FPC zwei PPUs zur selben Unit findet, ist einfach nur nervig. Fehlermeldung, kann nicht kompilieren, er findet eine Unit angeblich nicht, die aber da ist, und das zu debuggen ist grausam. Daher habe ich mir Packages angewöhnt, die gleich ein eigenes Ausgabeverzeichniss haben - das erhöht gleichzeitig die Kompiliergeschwindigkeit, wenn die PPUs nur einmal erzeugt werden und nicht für jedes Projekt wieder neu.
Und man sollte, um den Compiler nicht zu "verwirren" und leitung einzusparen für jede Plattform nen eigenes Ausgabeverzeichniss haben. Für nur-Windows oder nur-Linux oder nur-sonstwas programmierer ist das aber irrelevant.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Und man sollte, um den Compiler nicht zu "verwirren" und leitung einzusparen für jede Plattform nen eigenes Ausgabeverzeichniss haben. Für nur-Windows oder nur-Linux oder nur-sonstwas programmierer ist das aber irrelevant.
Das kann ich nur bestätigen, wenn auch mit GCC unter Linux und Windows. Hat mich echt ne Menge Zeit gekostet, eh ich gecheckt habe, dass Windows probiert die Linux-Objekt-Dateien und Linux die von Windows probiert zu nehmen. Das gibt dann natürlich massig unerklärbare Linkfehler.
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Das Choas mit alten DCUs/PPUs hat man so oder so. Da muss jeder drauf achten muss. Zu mal es nur für Lazarus von nutzen wäre. Und im Vergleich zum Aufwand ist das in meinen Augen absolut nicht verhältnissmäßig. Aber das führt jetzt hier auch eindeutig zu weit. Für solche Anregungen haben wir spezielle Sparten.
Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.