Write once - Compile Everythere???
-
- Beiträge: 24
- Registriert: Fr 13. Feb 2009, 08:27
- OS, Lazarus, FPC: Arch Linux, 2.9.27, 2.2.5
- CPU-Target: Pentium4 Northwood
- Wohnort: /home/linopolus
Write once - Compile Everythere???
Hallo
Wie kann das sein, wo doch unter Windows die WinAPI und unter Linux GTK/QT verwendet wird(von Lazarus und OS)???
Wie kann das sein, wo doch unter Windows die WinAPI und unter Linux GTK/QT verwendet wird(von Lazarus und OS)???
Gruß, linopolus
-
- Beiträge: 1100
- 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: Write once - Compile Everythere???
linopolus hat geschrieben:Wie kann das sein, wo doch unter Windows die WinAPI und unter Linux GTK/QT verwendet wird(von Lazarus und OS)???
Abstrahieren von GUI Features, und harter Arbeit.
-
- 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:
Re: Write once - Compile Everythere???
Es wird halt je nach System unterschiedlich durchgereicht. Setzt natürlich voraus, das du selbst als programmierer nicht auf Plattformabhängige Sachen zugreifst. Bspw. direkt das WinApi anzusprechen geht zwar teilweise, aber dann natürlich nur unter Windows.
Johannes
-
- 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:
Re: Write once - Compile Everythere???
Das gth nicht nur teilweise sondern unter Windows natürlich komplett. Unter Linux und MacOS kann man sogar tele der Winapi auch benutzen da dafür Wrapper Funktionne geschrieben wurden aber nur ganz häufig genutzte Funktionen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 24
- Registriert: Fr 13. Feb 2009, 08:27
- OS, Lazarus, FPC: Arch Linux, 2.9.27, 2.2.5
- CPU-Target: Pentium4 Northwood
- Wohnort: /home/linopolus
Re: Write once - Compile Everythere???
Also Lazarus guckt, was das grad für nen System ist, und kompiliert dann mit dem, was für das System geht. Also ich mache eine Anwendung unter Windows und der speichert nicht WinAPI soundso ist da und da sondern ein button ist da und da. Verstehe.
Gruß, linopolus
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Write once - Compile Everythere???
Naja nicht ganz, aber so ähnlich. Immerhin kannst du z.B. QT und GTK auch unter Windows und MacOS betreiben, wohingegen WinAPI und Carbon jeweils exklusiv Windows bzw. MacOS sind.
-
- Beiträge: 1100
- 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: Write once - Compile Everythere???
Hitman hat geschrieben:Naja nicht ganz, aber so ähnlich. Immerhin kannst du z.B. QT und GTK auch unter Windows und MacOS betreiben,
wohingegen WinAPI
Nein: (lib)wine.
Wine ist natuerlich nicht der erster Wahl, aber das ist QT und GTK auf Windows auch nicht.
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Write once - Compile Everythere???
Der große Vorteil ist doch das man ohne großen
Aufwand genau für das Zielsystem passende
Programme erstellen kann (Win/Winapi,Linux QT/GTK etc.)
Wine ist doch eh nur ein Behelf und kein Ausgangspunkt
für eine Programmentwicklung.
Aufwand genau für das Zielsystem passende
Programme erstellen kann (Win/Winapi,Linux QT/GTK etc.)
Wine ist doch eh nur ein Behelf und kein Ausgangspunkt
für eine Programmentwicklung.
-
- Beiträge: 1100
- 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: Write once - Compile Everythere???
creed steiger hat geschrieben:Der große Vorteil ist doch das man ohne großen
Aufwand genau für das Zielsystem passende
Programme erstellen kann (Win/Winapi,Linux QT/GTK etc.)
Immer versucht etwas das von Linux kommt mit gcc auf Windows zu kompilieren ? Ja es geht in theorie, aber da ist auch alles mit gesagt.
Wine ist doch eh nur ein Behelf und kein Ausgangspunkt
für eine Programmentwicklung.
IMHO ist die heutige Situation von mingw/cygwin auf Windows auch
nur ein Behelf. Sie emulieren ein grosse Menge Unix Prinzipen auf Windows.
-
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
Re: Write once - Compile Everythere???
Im Wiki zu Cross-Compiling steht, dass man z.B. unter Linux als Zielplattform durchaus Windows einstellen kann und die erhaltene .exe-Datei dann z.B. mit Wine direkt ausprobieren kann.
¿Habt Ihr das schon mal gemacht?
Ich habe da folgenden merkwürdigen Effekt (ich glaube aber, das ist Wine-spezifisch und KEIN Lazarus-Bug):
Nimmt man den Win32/64 Widgetset funktioniert die .exe unter Linux mit Wine (fast) perfekt.
Man beachte jedoch Kleinigkeiten: Alle-Icons und TImages stehen auf dem Kopf, ausser das "produced mit Lazarus"!? Nimmt man aber GTK2 als Widgetset, dann sieht die Anwendung nicht mehr so aus wie gedacht, sondern total verzockt (siehe beide Screenshots). Ich denke aber, dafür gibt es keine Abhilfe, das ist Wine. Nur generell habe ich auch folgende Erfahrung gemacht: Delphi-Programme laufen im Allgemeinen sehr gut mit Wine, andere Programme für Windows, die unter Wine nicht laufen, zeigen irgendwann auch unter Windows direkt ihre Macken und schmieren ab.
Lazarus-Programme (mit win32-widgetset) laufen auch sehr gut mit Wine, wenn man von Kleinigkeiten absieht.
Ich mach das crosscompiling so: Für Linux direkt auf meiner Mandriva-Arbeitsstation, Für Windows unter VMWare, wo ein WinXP läuft, dann kann man direkt mit Alt-Tab zwischen den beiden Betriebssystemen hin- und herschalten und hat (fast) "native" Bedingungen für beide Plattformen.
¿Habt Ihr das schon mal gemacht?
Ich habe da folgenden merkwürdigen Effekt (ich glaube aber, das ist Wine-spezifisch und KEIN Lazarus-Bug):
Nimmt man den Win32/64 Widgetset funktioniert die .exe unter Linux mit Wine (fast) perfekt.
Man beachte jedoch Kleinigkeiten: Alle-Icons und TImages stehen auf dem Kopf, ausser das "produced mit Lazarus"!? Nimmt man aber GTK2 als Widgetset, dann sieht die Anwendung nicht mehr so aus wie gedacht, sondern total verzockt (siehe beide Screenshots). Ich denke aber, dafür gibt es keine Abhilfe, das ist Wine. Nur generell habe ich auch folgende Erfahrung gemacht: Delphi-Programme laufen im Allgemeinen sehr gut mit Wine, andere Programme für Windows, die unter Wine nicht laufen, zeigen irgendwann auch unter Windows direkt ihre Macken und schmieren ab.
Lazarus-Programme (mit win32-widgetset) laufen auch sehr gut mit Wine, wenn man von Kleinigkeiten absieht.
Ich mach das crosscompiling so: Für Linux direkt auf meiner Mandriva-Arbeitsstation, Für Windows unter VMWare, wo ein WinXP läuft, dann kann man direkt mit Alt-Tab zwischen den beiden Betriebssystemen hin- und herschalten und hat (fast) "native" Bedingungen für beide Plattformen.