Lazarus erzeugt immer 32 Bit App auf macOS
Lazarus erzeugt immer 32 Bit App auf macOS
Habe Lazarus 2.04 auf macOS Mojave installiert.
Habe in den Projekteinstellungen als Widget Cocoa and als CPU-Target x86_64 gewählt.
Dennoch erzeugt Lazarus immer eine 32-Bit-Anwendung.
Was mache ich falsch?
Habe in den Projekteinstellungen als Widget Cocoa and als CPU-Target x86_64 gewählt.
Dennoch erzeugt Lazarus immer eine 32-Bit-Anwendung.
Was mache ich falsch?
-
- Beiträge: 336
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Hallo,
ich denke es liegt daran, dass die IDE für'n Mac auch nur 32 bit ist.
Gruß
Volker
ich denke es liegt daran, dass die IDE für'n Mac auch nur 32 bit ist.
Gruß
Volker
-
- Beiträge: 336
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Hallo,
Mac OS Catalina startet keine 32 bit Programme mehr. Das wurde mit Mojave schon angekündigt.
Gruß
Volker
Mac OS Catalina startet keine 32 bit Programme mehr. Das wurde mit Mojave schon angekündigt.
Gruß
Volker
Zuletzt geändert von ErnstVolker am Di 15. Okt 2019, 14:21, insgesamt 1-mal geändert.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Ich habe gelesen, dass die nächste Mac OS Version keine 32 Bit Programme mehr starten kann.
Außerdem muss jedes Programm von Apple zertifiziert werden (es gibt aber anscheinend Möglichkeiten Programme und Link-Libraries einzeln als Ausnahme zu definieren...)
-Michael
Außerdem muss jedes Programm von Apple zertifiziert werden (es gibt aber anscheinend Möglichkeiten Programme und Link-Libraries einzeln als Ausnahme zu definieren...)
-Michael
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Wie bereits erwähnt, habe ich Lazazus auf Mojave installiert, da laufen noch 32-bit-Programme (sonst würde da Lazarus ja auch schon nicht mehr laufen).
Ich würde aber gerne eine 64-Bit-Version meines Programms erzeugen.
Carbon kann das ja wohl nicht, daher habe ich als Widget Cocoa gewählt.
Aber auch da (oder mit irgendeinem anderen Widget) wird immer eine 32-Bit App erstellt.
Muss man außer bei CPU-Typ noch etwas einstellen, damit ich eine 64-Bit App erhalte?
Ich dachte, Lazarus kann das...
Ich würde aber gerne eine 64-Bit-Version meines Programms erzeugen.
Carbon kann das ja wohl nicht, daher habe ich als Widget Cocoa gewählt.
Aber auch da (oder mit irgendeinem anderen Widget) wird immer eine 32-Bit App erstellt.
Muss man außer bei CPU-Typ noch etwas einstellen, damit ich eine 64-Bit App erhalte?
Ich dachte, Lazarus kann das...
-
- Beiträge: 1910
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Nö, du machst das schon richtig, damit sollte es 64 bit kompilieren.
Habs grad selbst getestet, selbes problem, anscheinend wird keine 64 bit anwendung erstellt.
Habs grad selbst getestet, selbes problem, anscheinend wird keine 64 bit anwendung erstellt.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Lazarus erzeugt immer 32 Bit App auf macOS
harrybonn hat geschrieben:Muss man außer bei CPU-Typ noch etwas einstellen, damit ich eine 64-Bit App erhalte?
Project -> Project Properties -> Compiler Options -> Config and Target -> Target Platform -> Target CPU family (-P) => x86_64 sollte eigentlich reichen.
-Michael
Re: Lazarus erzeugt immer 32 Bit App auf macOS
mschnell hat geschrieben:harrybonn hat geschrieben:Muss man außer bei CPU-Typ noch etwas einstellen, damit ich eine 64-Bit App erhalte?
Project -> Project Properties -> Compiler Options -> Config and Target -> Target Platform -> Target CPU family (-P) => x86_64 sollte eigentlich reichen.
-Michael
Ja, genauso habe ich es ja gemacht, es wird aber immer eine 32-Bit-App erstellt.
Leider kann ich damit mit der aktuellen macOS Catalina nichts anfangen...
Hat denn noch nie jemand eine 64-Bit App für macOS mit Lazarus erstellt?
Bug???
-
- Beiträge: 1910
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Lazarus erzeugt immer 32 Bit App auf macOS
harrybonn hat geschrieben:Hat denn noch nie jemand eine 64-Bit App für macOS mit Lazarus erstellt?
Bug???
Vor ewigkeiten mal (locker so 3 Jahre her, wahrscheinlich mehr), Cocoa ist unbenutzbar, wenn man mit Lazarus auf dem Mac irgendwas machen will, muss man eigentlich auf 32 bit zurückgreifen. Ich glaub das es damals mal funktioniert hatte, das war aber einige Major OSX und FPC versionen her.
Ist aber ein lazarus bug, ich benutz den fpc noch regelmäßig für kommandozeilenanwendungen, und da der FPC unter osx standardmäßig 64 bit kompiliert, erstellt der mir ohne zusätzliche argumente immer 64 bit anwendungen. Also das simple programm:
Code: Alles auswählen
program Test;
{$MODE OBJFPC}{$H+}
begin
WriteLn(SizeOf(IntPtr));
end.
kompiliert mit
Code: Alles auswählen
$> fpc ./test.pas
wirft eine größe von 8 (und damit 64 bit) zurück.
Würde also schätzen das muss ein Bug in Lazarus sein.
PS: vergiss es, hab grad nochmal nachgesehen, aus irgendeinem grund war bei mir in den Pfaden (Lazarus->EInstellungen->Pfade) für den fpc der /usr/local/bin/ppc386 und nicht /usr/local/bin/fpc eingetragen. Dann ist natürlich klar das der immer 32 bit baut. Keine ahnung ob ich das per hand so konfiguriert hab oder es seit der Installation so ist. Wie gesagt ich benutze Lazarus unter OSX nicht mehr. Wenn ich ne pascal anwendung schreib dann meist mit VIM oder Spacemacs. Wenn du garantieren willst das 64 bit verwendet werden, kannst du als pfad auch einfach /usr/local/bin/ppcx86 angeben, aber wunder dich dann nicht wenn er das nächste mal keine 32 bit anwendungen mehr baut (genau dafür gibts ja die fpc exec, damit man aussuchen kann für was man bauen will)
- kupferstecher
- Beiträge: 422
- Registriert: Do 17. Nov 2016, 11:52
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Also gehen muss es irgendwie.
https://wiki.lazarus.freepascal.org/Coc ... #Compiling
"In the past, for some reason Lazarus kept setting the compiler to "/usr/local/bin/ppc386" - which results in 32 bit apps. Make sure under Tools->Options that "Compiler Executable" is set to "/usr/local/bin/fpc" to get 64 bit apps."
https://wiki.lazarus.freepascal.org/Coc ... #Compiling
"In the past, for some reason Lazarus kept setting the compiler to "/usr/local/bin/ppc386" - which results in 32 bit apps. Make sure under Tools->Options that "Compiler Executable" is set to "/usr/local/bin/fpc" to get 64 bit apps."
Re: Lazarus erzeugt immer 32 Bit App auf macOS
kupferstecher hat geschrieben:Also gehen muss es irgendwie.
https://wiki.lazarus.freepascal.org/Coc ... #Compiling
"In the past, for some reason Lazarus kept setting the compiler to "/usr/local/bin/ppc386" - which results in 32 bit apps. Make sure under Tools->Options that "Compiler Executable" is set to "/usr/local/bin/fpc" to get 64 bit apps."
Dank an Warf und Kuperstecher, ja genau, das war es. Mit der Änderung auf fpc wird dann auch eine 64-Bit Anwendung erzeugt...
Den Debugger habe ich zwar immer noch nicht ans Laufen bekommen (bzw. er stürzt sofort ab, trotz der sehr guten Anleitung hier: https://www.youtube.com/watch?v=QE_IAjkXElg&t=456s), aber immerhin kann ich schon mal compilieren....
-
- Beiträge: 1910
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Lazarus erzeugt immer 32 Bit App auf macOS
harrybonn hat geschrieben:Den Debugger habe ich zwar immer noch nicht ans Laufen bekommen (bzw. er stürzt sofort ab, trotz der sehr guten Anleitung hier: https://www.youtube.com/watch?v=QE_IAjkXElg&t=456s), aber immerhin kann ich schon mal compilieren....
Die anleitung ist ja auch für El-Capitan, da ging das ja auch einfach. Seit Mojave hab ich den GDB nicht mehr zum laufen bekommen (und nach der anzahl der ungelösten StackOverflow threads ist das anscheinend ein allgemeines problem), obwohl es eigentlich auch gehen sollte.
Ich hab es hier schon öfter gesagt, und kann es immer nur wiederholen, Lazarus und OSX verträgt sich nicht sonderlich gut. Du solltest dir selbst einen gefallen tun und auf deinem Mac einfach eine Linux VM installieren, in der du dann Lazarus benutzt. Du kannst zwar theoretisch am ende die Programme mit Lazarus (oder lazbuild) unter Mac kompilieren, aber auch das funktioniert eher mäh wenn du die LCL benutzt. Ansonsten kannst du auch einfach über das Kommandozeileninterface vom LLDB versuchen zu debuggen, wenn du unbedingt auf OSX bleiben willst, aber wie gesagt, ich würde dir von OSX und Lazarus generell abraten
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Warf hat geschrieben:Ich hab es hier schon öfter gesagt, und kann es immer nur wiederholen, Lazarus und OSX verträgt sich nicht sonderlich gut. Du solltest dir selbst einen gefallen tun und auf deinem Mac einfach eine Linux VM installieren, in der du dann Lazarus benutzt. Du kannst zwar theoretisch am ende die Programme mit Lazarus (oder lazbuild) unter Mac kompilieren, aber auch das funktioniert eher mäh wenn du die LCL benutzt. Ansonsten kannst du auch einfach über das Kommandozeileninterface vom LLDB versuchen zu debuggen, wenn du unbedingt auf OSX bleiben willst, aber wie gesagt, ich würde dir von OSX und Lazarus generell abraten
Von mir aus ist das nicht unbedingt ein Wunsch, das von macOS aus zu machen, ging bislang davon aus, es geht nicht anders.
Re: Lazarus erzeugt immer 32 Bit App auf macOS
Hier noch eine ergänzende Info zum Debuggen unter macOS:
Noch nie war als einfacher als jetzt: nur unter Werkzeuge, Einstellungen, Debugger den "LLDB debugger (with fpddebug)" wählen und den Pfad auf /usr/bin/lldb ändern und schon kann man mit Lazarus unter macOS (hier: mojave) debuggen!
Sehr schön!!
Noch nie war als einfacher als jetzt: nur unter Werkzeuge, Einstellungen, Debugger den "LLDB debugger (with fpddebug)" wählen und den Pfad auf /usr/bin/lldb ändern und schon kann man mit Lazarus unter macOS (hier: mojave) debuggen!
Sehr schön!!