Compiler-Kommandos Win/Linux
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Compiler-Kommandos Win/Linux
Ich habe unter Project-Einstellungen/Compiler-Kommandos ein *.bat welche beim start ausgeführt wird.
Wen ich nun mein Project unter Linux kompiliere, dann motzt logischerweise die IDE.
Kann man es irgendwie machen, wen unter Linux kompiliert, wird eine *.sh ausgeführt, unter Windows eine *.bat ?
Wen ich nun mein Project unter Linux kompiliere, dann motzt logischerweise die IDE.
Kann man es irgendwie machen, wen unter Linux kompiliert, wird eine *.sh ausgeführt, unter Windows eine *.bat ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Compiler-Kommandos Win/Linux
Warum ein .BAT statt ein .CMD ? Nutzt du noch immer win9x ?
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Compiler-Kommandos Win/Linux
Wie die Datei heißt tut nichts zur Sache. In beiden Fällen wird wird die cmd[.]exe gestartet (bei NT-Betriebssystemen).marcov hat geschrieben:Warum ein .BAT statt ein .CMD ? Nutzt du noch immer win9x ?
Du kannst dir unter Windows die Bash installieren (z.B. https://msysgit.github.io/). Damit kann man dann auch .sh-Dateien unter Windows ausführen.Mathias hat geschrieben:Kann man es irgendwie machen, wen unter Linux kompiliert, wird eine *.sh ausgeführt, unter Windows eine *.bat ?
Alternativ kannst du ein Makefile verwenden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Compiler-Kommandos Win/Linux
Ich habe eine Lösung gefunden, so kann ich wenigstens unter Linux kompilieren, ohne das ein Fehler kommt.
Die bat wandelt mit nur eine Text-Datei mit dem Shader in eine String-Konstante um.
Vorher hatte ich LW:\...., das konnte Lazarus natürlich nicht finden.
Die bat wandelt mit nur eine Text-Datei mit dem Shader in eine String-Konstante um.
Code: Alles auswählen
..\..\Units\OpenGL\Shader\Shader.bat
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 131
- Registriert: So 20. Jul 2014, 10:27
- OS, Lazarus, FPC: kubuntu, raspbian, laz 1.2 / 0.9 microcontroller
- CPU-Target: 8-64 bit
- Wohnort: bodensee
- Kontaktdaten:
Re: Compiler-Kommandos Win/Linux
mach mal folgendes:
aber klar zur laufzeit das system erlitteln ist noch geschickter, wie hast du das nun geloest ?
Code: Alles auswählen
// eine der beiden zeilen je nach system auskommentieren
{$define windows}
// {$define linux}
{ifdef windows}
// ruf die cmd auf
{$endif}
{$ifdef linux}
// ruf die bash oder sonstwen
{$endif}
Zuletzt geändert von Lori am So 25. Jan 2015, 14:09, insgesamt 1-mal geändert.
Grund: Bitte den Highlighter nutzen.
Grund: Bitte den Highlighter nutzen.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Compiler-Kommandos Win/Linux
Ich entwickle hauptzächlich mit Windows, unter Linux kompiliere ich nur das Endprodukt. Somit ist es egal, wen die BAT unter Linux nicht läuft.wie hast du das nun geloest ?
Aber wenigstens muss ich nicht immer den Hacken setzen/entfernen, wen ich das OS wechsle.
@wbeppler
Die Complier-Shalter gehen nur inerhalb des Pascal-Quelltextes und haben nichts mit sh/BAT zu tun.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Compiler-Kommandos Win/Linux
Achte bitte ein wenig auf deine Rechtschreibung, man muss sich ja schämen als Schweizer...Mathias hat geschrieben:Ich entwickle hauptzächlich mit Windows, unter Linux kompiliere ich nur das Endprodukt. Somit ist es egal, wen die BAT unter Linux nicht läuft.wie hast du das nun geloest ?
Aber wenigstens muss ich nicht immer den Hacken setzen/entfernen, wen ich das OS wechsle.
@wbeppler
Die Complier-Shalter gehen nur inerhalb des Pascal-Quelltextes und haben nichts mit sh/BAT zu tun.

Wenn man es nicht kann, könnte man doch mindestens die Rechtschreibprüfung verwenden.
-
- Beiträge: 131
- Registriert: So 20. Jul 2014, 10:27
- OS, Lazarus, FPC: kubuntu, raspbian, laz 1.2 / 0.9 microcontroller
- CPU-Target: 8-64 bit
- Wohnort: bodensee
- Kontaktdaten:
Re: Compiler-Kommandos Win/Linux
theo : rechtschreibung ist im Forum "Deutsch fuer Anfaenger" um mir hier schnurz
mathias: ich meine ja genau das ! haette ich alles ausfuehrlich schreiben sollen ?
zu "Deutsch": if unter windows rufe bat / if unter linux rufe bash
check ich nicht was du meinst ?
und JA, eine kleine stelle musst du aendern, aber weshalb du ne bat nur unter win brauchst und nicht unter lin ist neu und mir unklar, egal
mathias: ich meine ja genau das ! haette ich alles ausfuehrlich schreiben sollen ?
zu "Deutsch": if unter windows rufe bat / if unter linux rufe bash
check ich nicht was du meinst ?
und JA, eine kleine stelle musst du aendern, aber weshalb du ne bat nur unter win brauchst und nicht unter lin ist neu und mir unklar, egal

- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
OT: Re: Compiler-Kommandos Win/Linux
Übersetzt heißt das: Wenn ich hier hinkotze, dann wischt ihr das gefälligst weg!wbeppler hat geschrieben:theo : rechtschreibung ist im Forum "Deutsch fuer Anfaenger" um mir hier schnurz
Zur ursprünglichen Frage: du kannst auch die Befehle in ein Makefile packen (http://de.wikipedia.org/wiki/Make). Dann rufst du einfach nur "make" vor dem Kompilieren auf. Das geht dann unter Linux und Windows.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: Compiler-Kommandos Win/Linux
Mir ist das hier nicht schnurz. Ich sehe auch keinen Sinn darin, jemanden zur nachlässigen Rechtschreibung zu ermutigen.wbeppler hat geschrieben:theo : rechtschreibung ist im Forum "Deutsch fuer Anfaenger" um mir hier schnurz
Beim Programmieren geht es doch auch um Sorgfalt und Geduld und da passt eine schludrige Orthographie nicht dazu.
Jeder macht Fehler, das ist klar. Aber es gibt eine Grenze ab der es unanständig wirkt.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Compiler-Kommandos Win/Linux
Gegenwärtig habe ich folgendes Kommando: ..\..\Units\OpenGL\Shader\Shader.batZur ursprünglichen Frage: du kannst auch die Befehle in ein Makefile packen (http://de.wikipedia.org/wiki/Make). Dann rufst du einfach nur "make" vor dem Kompilieren auf. Das geht dann unter Linux und Windows.
Wen ich dich richtig verstehe, soll ich im Ordner, in dem die Shader.bat, eine Makefile erzeugen.
Und anschliessend mit folgendem Kommando aufrufen: make -C ..\..\Units\OpenGL\Shader ?
Die Shader.bat sieht so aus:
Code: Alles auswählen
@v:
@set Pfad="V:\DATEN\Programmierung\Lazarus\Tools\Text To Pascal String\TextToPascal"
@cd V:\DATEN\Programmierung\Lazarus\Units\OpenGL\Shader
@%Pfad% monocolor.vert
@%Pfad% monocolor.frag
@%Pfad% textur.vert
@%Pfad% textur.frag
@%Pfad% color.vert
@%Pfad% color.frag
@%Pfad% light.glsl
@%Pfad% nolight.glsl
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Compiler-Kommandos Win/Linux
Nö, vergiss die Batchdatei und pack die einzelnen Anweisungen in das Makefile.
Idealerweise setzt du da auch keine Pfade, sondern benutzt relative Pfadangaben für die Aufrufe. Pack am besten den Quellcode von deinem TextToPascal-Programm mit in deinen Projektordner und lass es auch von make kompilieren.
Idealerweise setzt du da auch keine Pfade, sondern benutzt relative Pfadangaben für die Aufrufe. Pack am besten den Quellcode von deinem TextToPascal-Programm mit in deinen Projektordner und lass es auch von make kompilieren.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de