PureBasic unter Mac

Anfängerfragen zum Programmieren mit PureBasic.
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

PureBasic unter Mac

Beitrag von stevie1401 »

Leider habe ich es nicht geschafft Purebasic unter Mac zum laufen zu bringen.
Xcode ist installiert.
PB lässt sich aufrufen, der Code wird geladen, dann passiert allerdings nichts mehr.
Drücke ich F5 wird compiliert und das Fenster geht wieder weg. Es passiert einfach nichts.

Die compilieten Apps starten dann nicht und es kommt die Meldung die Dateien seien fehlerhaft.

OsX 10.8 oder wie das heisst. Das neuste halt.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: PureBasic unter Mac

Beitrag von mk-soft »

Xcode unter Mac einmal aufrufen. Dann werden erst die Komponenten installiert.
Zuletzt geändert von mk-soft am 13.12.2014 12:08, insgesamt 1-mal geändert.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: PureBasic unter Mac

Beitrag von mk-soft »

stevie1401 hat geschrieben:OsX 10.8 oder wie das heisst. Das neuste halt.
nicht ganz... OS X 10.10.1
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: PureBasic unter Mac

Beitrag von stevie1401 »

Leider sind meine Mac-Kenntnisse sehr begrenzt.
Besteht ein Unterschied zwischen Installieren und Aufrufen?
Installiert ist es zu 100%
Kann man inzwischen den neuesten xCode nehmen?
6x oder soll man den 5x nehmen?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: PureBasic unter Mac

Beitrag von mk-soft »

Nach der ersten installation von Xcode ist noch nicht alles eingerichtet. Beim ersten start von Xcode werden noch weiter Komponenten nachinstalliert.
Bei mir verwende ich die aktuellste Version von Xcode.
Es lohnst sich auch auf Yosemite zu wechseln. Bei mir hatte ich keine Probleme von Maverick auf Yosemite zu wechseln.
Datensicherung aber auf jeden fall durchführen.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: PureBasic unter Mac

Beitrag von stevie1401 »

Nachdem wir xCode 511 neu installiert haben und einmal ausgeführt haben, scheint die PB-IDE zu funktionieren.

Folgender Code funktioniert allerdings unter Mac nicht:

Code: Alles auswählen

If InitSound()
  DokoLoungeSound = LoadSound(#PB_Any, exepath+"/inc/sound/lobbyeintritt.wav")   ;<<<<<----hier kommt die Meldung "Speicherfehler", Prog bricht hier ab
  PlaySound(DokoLoungeSound)  ;hier hin kommen wir gar nicht mehr
EndIf

Desweiteren scheint der Code für exepath nicht zu funktionieren:

Code: Alles auswählen


exepath=GetCurrentDirectory()  ;funktioniert mit einem Mac
exepath=GetPathPart(ProgramFilename())  ;funtkioniert NICHT mit einem Mac
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: PureBasic unter Mac

Beitrag von NicTheQuick »

Kannst du das bitte ins Bug-Forum posten? Mit Angabe von PB-Version, Mac OS-Version, Beispielcode und Compiler-Einstellungen?
Und falls du des englischen mächtig bist, würde ich dir sogar direkt empfehlen ins englische Bug-Forum zu posten: Board index » Bug Reports » Bugs - Mac OSX
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: PureBasic unter Mac

Beitrag von Danilo »

stevie1401 hat geschrieben:Desweiteren scheint der Code für exepath nicht zu funktionieren:

Code: Alles auswählen

exepath=GetCurrentDirectory()  ;funktioniert mit einem Mac
exepath=GetPathPart(ProgramFilename())  ;funtkioniert NICHT mit einem Mac
Code:

Code: Alles auswählen

Debug GetCurrentDirectory()
Debug GetPathPart( ProgramFilename() )
Ausgabe:

Code: Alles auswählen

/Users/danilo/PureBasic/x86/PureBasic/PureBasic.app/Contents/
/tmp/PureBasic.0.app/Contents/MacOS/
GetCurrentDirectory() zu verwenden ist falsch. In meinem Beispiel gibt es den Pfad innerhalb
von PureBasic.app zurück, und das ist die PB IDE.

GetPathPart(ProgramFilename()) gibt aber den richtigen Pfad zurück. Bei einem Konsolenprogramm
ist das direkt der Pfad wo das Programm liegt. Ein .app Programm ist aber eine spezielle Ordnerstruktur,
die als Paket behandelt wird.
Deine Sounds musst Du in die .app hinein kopieren, wenn Du sie mit exepath+"/inc/sound/lobbyeintritt.wav"
laden möchtest. Der komplette Pfad ist dann "Your.app/Contents/MacOS/inc/sound/lobbyeintritt.wav".
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: PureBasic unter Mac

Beitrag von stevie1401 »

OK, fangen wir von vorne an:

Mein Programm befindet sich z.B. im Ordner /Stevie/TestProgOrdner/ ;in diesem Ordner befindet sich das Programm incl Unterordner

Mit
exepath=GetCurrentDirectory()

lande ich in genau diesem Ordner, und so soll es sein.

Mit

exepath=GetPathPart(ProgramFilename())

lande ich NICHT in diesem Ordner, deshalb ist es FALSCH.

Da dieser Code unter Mac nicht funktioniert...
If InitSound()
DokoLoungeSound = LoadSound(#PB_Any, exepath+"/inc/sound/lobbyeintritt.wav") ;<<<<<----hier kommt die Meldung "Speicherfehler", Prog bricht hier ab
PlaySound(DokoLoungeSound) ;hier hin kommen wir gar nicht mehr
EndIf

Wie kann ich den Sound in jenem Ordner unter Mac zum laufen bekommen?
Der Benutzer kann ggf. die Datei ändern, deshalb muss sie in diesem Ordner bleiben.
Unter Win und Linux geht das problemlos.

Wie bekomme ich ein funktionierendes Exepath unter Mac hin?
Ich muss zwingend im meinem eigenen Programmordner bleiben und kann nicht vom Benutzer erwarten, dass er irgendwelche Dateien in irgendwelche Images kopiert. Wie auch immer das überhaupt geht.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PureBasic unter Mac

Beitrag von ts-soft »

Es gibt 2 unterschiedliche Pfade. GetCurrentDirectory funktioniert nur in der IDE, aber nicht als Exe!
Als Exe nimmste den von Danilo vorgeschlagenen Pfad.

Am besten: Temporäres Executable im Quellcode-Verzeichnis erstellen (Compilerdirective) anhaken,
dann sollten beide Pfade gleich sein.

Falls es immer noch nicht klappt, müßte Dir allerdings jemand mit einem Mac helfen, hab leider keinen :wink:

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten