nullplan001
Goto Top

windres - Download und Benutzung

Hi all,
ich habe da ein Problem namens windres. Ich brauche es, um meinen Dateien ein paar Infos hinzuzufügen; außerdem wollte ich damit die Internationalisierung durch den Einsatz von resource strings erleichtern. Nur weiß ich nicht, wie ich es bekommen soll? Da es teil der GNU binutils ist, habe ich mir die Sources davon heruntergeladen. Ich benutze zwar Windows, habe aber djgpp mit GNU make installiert. Nur weiß ich absolut nicht, wie ich die binutils im allgemeinen und windres im speziellen kompilieren und installieren soll. Wenn ich versuche, die Datei binutils-2.14\binutils\windres.c zu kompilieren kommen diverse Fehlermeldungen:

Syntax-Fehler in bucomm.hEinige Header (libiberty.h, safe-ctype.h, obstack.h) existieren nicht.Syntax-Fehler in winuni.h, windres.h und windres.c

(Das echte Listing ist länger als zwei Bildschirmseiten) Irgendwas sagt mir, dass ich die Datei nicht direkt kompilieren sollte, aber es gibt in dem ganzen Verzeichnis keine Makefile. Nur:

makefile.ammakefile.inmakefile.vms-in

Und was kann ich mit denen machen? Im Hauptverzeichnis gibt es auch eine setup.com, deren Auführung keine sichtbaren Ergebnisse ergab. Und auch hier keine makefile. Was soll ich denn machen?

Die zweite Frage hat sich erst in Position gebracht, als ich feststellen musste, dass sich das Tutorial, das ich dazu an der Hand hatte, verflüchtigt hat. Wo gibt es ein Tutorial über Resource Scripts? Ich habe mit Google dazu eigentlich nix gefunden. Für Vorschläge wäre ich dankbar.
Tschö,
nullplan

Content-Key: 38353

Url: https://administrator.de/contentid/38353

Printed on: April 26, 2024 at 13:04 o'clock

Member: JohnnyB
JohnnyB Aug 20, 2006 at 10:39:28 (UTC)
Goto Top
Hallo nullplan,

die Fehlermeldungen bedeuten, das bestimmte Abhängigkeiten nicht erfüllt sind. Um den Code erfolgreich zu übersetzen, werden eben die angeführten Dateien benötigt. Wenn diese Dateien bei dem Paket, das Du Dir runtergeladen hast, eigentlich dabei sein sollten, dann kann es sein, daß dein Compiler nicht das entsprechende Verzeichnis durchsucht, indem sie sich befinden. Dann mußt Du das/die Verzeichnis/se, wo diese entsprechenden .h-Dateien gespeichert sind, in den Include-Path deines Compilers einbinden.

Das mit dem nicht direkt kompilieren ist bei OpenSource üblich, da normalerweise die benötigten Makefiles erst wärend der Konfiguration erstellt werden. Auf einer Unix/Linux-Kiste verwendet man hierfür üblicherweise den Dreisatz (auf der Kommandozeile):

configure (Eingabetaste)
make (Eingabetaste)
sudo make install (Eingabetaste)

Es wird dann zuerst das configure-Skript ausgeführt, welches nach bestimmten Abhängigkeiten sucht und bestimmte Umgebungsvariablen setzt, die für die erfolgreiche Übersetzung notwendig sind.
Mit dem make wird dann das eigentliche Makefile generiert.
Mit dem make install (das mit root-Rechten ausgeführt werden muß), wird dann der eigentliche Compiliervorgang gestartet.

Wie gesagt, das gilt für Unix/Linux-Rechner, wie das bei Windows-Rechnern abläuft, kann ich Dir leider nicht sagen, aber ich vermute mal, daß Du da auch erst irgendwelche configuration/setup-skripts laufen lassen mußt. Diese Dinge sind aber für gewöhnlich in den liesmich/readme-Dateien oder in den Installationshinweisen beschrieben.

Vielleicht suchst Du auch nochmal, ob Du nicht eine bereits compilierte Version (Binary) für Deine Prozessor-Betriebssystemkombination im Internet findest.

Schönen Gruß,
Johnny.
Member: nullplan001
nullplan001 Aug 20, 2006 at 11:08:26 (UTC)
Goto Top
Ich habe mir mal das configure-Skript angeguckt: Es will unbedingt als Interpreter die sh haben. Schick, weil ich genau die nicht habe. Sonst sind das doch auch Perl-Skripts, wieso nicht jetzt? Na egal. Ich suche mal nach einem Windows-Ableger der Bash. (Die sollte das Skript auch ausführen können, oder? Oder muss ich gezielt nach einem Windows-Ableger der sh gucken?)
Und nein, ich habe nicht vor, das configure-Skript zu übersetzen. Es besteht nämlich aus 136 231 Zeichen. Danke, verzichte zu Ungunsten anderer.
Tschö,
nullplan
Member: JohnnyB
JohnnyB Aug 20, 2006 at 11:11:26 (UTC)
Goto Top
Normalerweise sollte die BASH alles können, was die SH auch kann und noch ein bischen mehr.

Schönen Gruß,
Johnny.
Member: nullplan001
nullplan001 Aug 20, 2006 at 19:09:20 (UTC)
Goto Top
Hi,
ich habe jetzt folgendes gemacht:
Habe gegooglet und kam bei http://folk.uio.no/andreass/unix_tools.html raus.
Habe die dortige user.exe heruntergeladen und ausgeführt.
Habe ein Verzeichnis /tmp (wegen Warnung) und /bin (wegen Trick) erstellt.
Habe in /bin einen symlink auf /cygnus/cygnus-b20/cygnus.bat erstellt
Habe die cygnus.bat bearbeitet: Letzte Zeile, statt "bash" jetzt "bash %*"
Und wenn ich jetzt das configure-Skript ausführen will, steht da:
bash-2.02$ configure --prefix=. --host=i386-pc-cygwinloading cache ./config.cacheconfigure: error: can not run ./config.sub
Aber ich habe einen Plan: Ich werde die Sourcen auf einem anderen Rechner, der cygwin hat und bei dem es funktioniert, kompilieren. Das mache ich jedoch nach dem Abendbrot. Ich melde mich dann wieder.
Tschö,
nullplan
P.S.: Sorry, bis eben war meine Internetverbindung weg. Aber zurück zum Thema: Die Installation braucht cc1. Hab ich aber nicht. Weis ich auch nicht, ob man es bei cygwin nachrüsten kann, und wenn ja, wie. Ist auch eqal, ich suche jetzt nach vorkompilierten Versionen von windres (So stark weichen die Windows-Distros ja nicht voneinander ab, wie bei Linux face-wink)
P.P.S.: Ich habe noch etwas gegooglet und herausgefunden, dass ich mir den ganzen Ärger hätte sparen können, da windres bei FreePascal schon im Installationsumfang enthalten ist. Ich Troll!!! Naja, die Frage nach einem Tutorial bleibt immer noch.
Member: JohnnyB
JohnnyB Aug 21, 2006 at 00:20:35 (UTC)
Goto Top
Vielleicht hilft das, ist zwar kein Tutorial, aber zumindest mal die manpage:

http://nixdoc.net/man-pages/Linux/man1/windres.1.html
Member: nullplan001
nullplan001 Aug 21, 2006 at 11:34:51 (UTC)
Goto Top
Danke für den Link, aber das war nicht so ganz das, was ich gesucht habe. Die Infos dort hätte ich ja auch ohne weiteres aus dem Programm ziehen können (Von wegen Optionen, und so.) Naja, trotzdem danke für den Versuch. Irgendwie scheint sich kein Schwein für resource scripts zu interessieren... außer mir.
tia und tschö,
nullplan