IFDEF...Werte

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

IFDEF...Werte

Beitrag von monta »

Ich könnte wetten, ich hatte es schon mal, find aber nicht mehr.

Gibts irgendwo ne Liste, der von Laz und Freepascal vorgegebenen Bedingungen, wie {$ifdef LCLGTK2}, ifedf WINDOWS usw.?

Konkret interessiert mich gerade der Unterschied Zwischen ifdef WINDOWS und ifdef MSWINDOWS
Johannes

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Windows etc sind FPC Defines:

Target operating system Defines
linux LINUX, UNIX
freebsd FREEBSD, BSD, UNIX
netbsd NETBSD, BSD, UNIX
sunos SUNOS, SOLARIS, UNIX
go32v2 GO32V2, DPMI
os2 OS2
Windows (all) WINDOWS, MSWINDOWS
Windows 32-bit WIN32
Windows 64-bit WIN64
Windows (winCE) WINCE, UNDER_CE, UNICODE
Classic Amiga AMIGA
Atari TOS ATARI
Classic Macintosh MAC
PalmOS PALMOS
BeOS BEOS, UNIX
QNX RTP QNX, UNIX
Mac OS X DARWIN

Lazrus Defines sind z.B.
{$IfDef LCLGtk}
{$IfDef LCLWin32}
{$IfDef LCLQt}
Zuletzt geändert von theo am Sa 13. Okt 2007, 23:15, insgesamt 1-mal geändert.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

theo hat geschrieben:Windows (all) WINDOWS, MSWINDOWS
Also macht es keinerlei Unterschied, WINDOWS bzw. MSWINDOWS zu schreiben?

Irgendwie hab ich überlegt, ob eventuell MSWINDOWS Wine ausschließt.
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Deine Liste stimmt nicht theo, unter Windows CE ist WINDOWS definiert aber nicht MSWINDOWS in allen anderen Windows versionen soweit ich das feststellen konnte beide.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Hab die nicht selber erfunden ;-)
http://www.freepascal.org/docs-html/prog/progap7.html" onclick="window.open(this.href);return false;

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

schon klar, ich sags nur
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Christian hat geschrieben:Deine Liste stimmt nicht theo, unter Windows CE ist WINDOWS definiert aber nicht MSWINDOWS in allen anderen Windows versionen soweit ich das feststellen konnte beide.
Hast du deshalb in der Utils manchmal windows und manchmal mswindows stehen?
Dadurch bin ich erst drauf gekommen, obs da nen Unterschied gibt.

Gibt es für die Lazarus-Defines auch so ne schöne Liste irgendwo?
Johannes

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

monta hat geschrieben:
Christian hat geschrieben: Gibt es für die Lazarus-Defines auch so ne schöne Liste irgendwo?
Was brauchst du denn noch?

LCLGtk
LCLGtk2
LCLWin32
LCLQt
LCLCarbon

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

ich weiß ja nicht, was es noch so für geheime Anweisungen gibt ;)
Ich hatte heut nur etas gesucht, um auf LCLGtk2 zu kommen.

Weil ichs eh gerde mal aufgeschrieben hab, mal die ganzen Dinge zusammen (ohne jeglichen Anspruch auf Vollständigkeit):

FPC Defines:
siehe http://www.freepascal.org/docs-html/prog/progap7.html

Lazarus Defines
{$IfDef LCL} > Gültig, wenn die LCL, also Lazarus verwendet wird (parallel zu Delphi)
{$IfDef LCLGtk} > GTK-Widgetset
{$IfDef LCLGtk2} > GTK2-Widgetset
{$IfDef LCLWin32} > Windows-Widgetset
{$IfDef LCLQt} > QT-Widgetset
{$IfDef LCLCarbon} > Carbon-Widgetset

Pfadvariablen:
$(LCLWidgetTyp) = LCL-Schnittstelle (bspw. gtk2)
$(TargetCPU) = Zielprozessor (bspw. i386)
$(TargetOS) = Zielbetriebssystem (bspw. win32, linux)
Johannes

Antworten