$define / wo einstellen?
$define / wo einstellen?
Bisher habe ich mich damit beholfen, Compiler-Direktiven wie z.B. {$IFDEF WIN32} ... zu setzen, indem ich {$define WIN32} in den Quellcode und zwar in jede Unit einzeln reingeschrieben habe. Das wird mir aber zu aufwändig.
In Delphi kann man die Compiler-Direktiven zentral unter "Projektoptionen/Verzeichnisse/Bedingungen" für jedes Projekt zentral setzen. Ich hab mir aber schon die Finger wund gesucht in Lazarus und im Internet, um eine vergleichbare Maske zu finden.
Wo stellt man das in Lazarus zentral ein?
In Delphi kann man die Compiler-Direktiven zentral unter "Projektoptionen/Verzeichnisse/Bedingungen" für jedes Projekt zentral setzen. Ich hab mir aber schon die Finger wund gesucht in Lazarus und im Internet, um eine vergleichbare Maske zu finden.
Wo stellt man das in Lazarus zentral ein?
Re: $define / wo einstellen?
In den Compilereinstellungen für's Projekt bei "Andere" in das grosse Feld was eintippen.
z.B. -dTest
Dann kannst du mit dem Button "Einstellungen anzeigen" schauen was es schreibt.
In diesem Falle z.B.
So ähnlich auch für Packages.
z.B. -dTest
Dann kannst du mit dem Button "Einstellungen anzeigen" schauen was es schreibt.
In diesem Falle z.B.
Code: Alles auswählen
-MObjFPC -Scgi -O1 -gl -WG -vewnhi -l -Fi/ -Fl/opt/gnome/lib/ -Fu/home/theo/lazarus/26SVN/lcl/units/i386-linux/ -Fu/home/theo/lazarus/26SVN/lcl/units/i386-linux/gtk2/ -Fu/home/theo/lazarus/26SVN/packager/units/i386-linux/ -Fu. -dTest -dLCL -dLCLgtk2
Re: $define / wo einstellen?
Ahhh so! Vielen Dank!
Re: $define / wo einstellen?
Irgenwie kapier ich aber nicht so ganz, warum du das tust.
Win32 müsste eigentlich sowieso definiert sein auf Win32
http://www.freepascal.org/docs-html/pro ... 23-323000G" onclick="window.open(this.href);return false;
Win32 müsste eigentlich sowieso definiert sein auf Win32
http://www.freepascal.org/docs-html/pro ... 23-323000G" onclick="window.open(this.href);return false;
Re: $define / wo einstellen?
Weil ich das Lazarus für x86_64-win64 und nicht für x86_64-win32 installiert habe. Ich hab auch nur die Units für C:\lazarus\lcl\units\x86_64-win64 und C:\lazarus\fpc\2.2.2\units\x86_64-win64. Die synapse Sourcen enthalten aber nur WIN32 - Switches. Wenn ich also für WIN32 compilieren will, muss ich zumindest den WIN32 Switch setzen.
Re: $define / wo einstellen?
oder die {$IFDEF WIN32} mit {$IFDEF MSWINDOWS} ersetzen.wolf_z hat geschrieben:Wenn ich also für WIN32 compilieren will, muss ich zumindest den WIN32 Switch setzen.
Re: $define / wo einstellen?
Hm, hätte das denn irgendwelche Vorteile? Ich müsste dann ja alle meine Fremd-Sourcen wie z.B. Synapse alle durchgehen und dort ersetzen. Das sind ja teilweise riesige Bibliotheken.
Re: $define / wo einstellen?
Synapse sollte FPC kompatibel sein, also da ist es nicht nötig, eher wohl schädlich sowas selber zu definieren.wolf_z hat geschrieben:Hm, hätte das denn irgendwelche Vorteile? Ich müsste dann ja alle meine Fremd-Sourcen wie z.B. Synapse alle durchgehen und dort ersetzen. Das sind ja teilweise riesige Bibliotheken.