Portierung auf andere Plattformen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
CptGreenwood
Beiträge: 125
Registriert: 12.07.2007 10:40

Portierung auf andere Plattformen

Beitrag von CptGreenwood »

Hi,

ich habe es tatsächlich geschafft, mein erstes komplexeres Spiel in PureBasic fertig zu stellen (stolz!) und habe nun zwei Fragen dazu:

1.
Wie ist das mit der Portierung nach Linux und MacOSX? Ist das wirklich so einfach, dass ich meinen Quellcode mit PureBasic auf dieser Plattform compiliere und alles klappt problemlos? Ich habe letzte Woche schnell mal eine Ubuntu-Kiste aufgesetzt, PureBasic darauf installiert und versucht, meinen Quelltext zu kompilieren, doch da meckerte er bereits bei "InitSprite3D()", dass er es nicht kennen würde. Bei Mac OSX habe ich es noch gar nicht versucht. Wie gehe ich am besten vor? Gibt es da ein Patentrezept zur Portierung?

2.
Als Bug-Such-Crew sind augenblicklich lediglich ich, meine Frau und die Kids tätig. Gibt es auf dem Board (in dem Forum, sonstwo...) einen Platz, wo fertige Spiele der Community zur Verfügung gestellt werden können, um einfach Rückmeldungen über Probleme und Verbesserungspotential von mehr Leuten zu erhalten?

Greetz,
CptGreenwood
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

Beitrag von NicTheQuick »

Zu 2) ShowCase

Zu 1) Das wüsste ich auch gerne.
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

Beitrag von ts-soft »

zu 2 Ergänzung:
Hier im Forum: Feedback Spiele

zu 1.
Patentrezepte gibts nicht, man sollte sich aber mit den besonderheiten des
OS auskennen, also Pfade, Dateinamen usw.

Irgendwo gibts auch ne Internetseite wo die Unterschiede aufgeführt worden
sind, finde ich aber im moment nicht.

Einfach neukompilieren wird bei kompletten Anwendungen in 99,999% aller
Fälle nicht genügen :wink:

Aber wenn man auf API verzichtet, besonderheiten des Dateisystems
beachtet usw. gibts grosse Chancen es anpassen zu können.

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
Rokur
Beiträge: 167
Registriert: 29.12.2005 09:58
Computerausstattung: Intel Core2 Quad (4x2,4 GHz), 4096 MB RAM, GForce 8800GTX 786 MB
Windows XP 32 Bit, PureBasic 4.40 (x86)

Beitrag von Rokur »

Ich würde so vorgehen:

1. Verwendete Libraries prüfen
In der PureBasic-Hilfe gibt es eine Übersicht welche Libraries voll, teilweise oder garnicht von bestimmten Betriebssystemen unterstützt werden.

2. API-Einsatz prüfen
API ist betriebssystemspezifisch, wenn du sowas drinnen hast, dann musst du entweder eine vom OS unabhängige Lösung finden, oder die Funktionen mehrfach implementieren (CompilerIF/Macros).

3. Sonstige betriebssystemspezifische Dinge prüfen
z.B.
- Pfad- und Laufwerksangaben
- Zeilenumbrüche in Dateien
- externe Libraries, DLLs, ...
- usw.
Auch hier kannst du verschiedene Versionen mit CompilerIF/Macros einbauen.

4. Test der Anwendung auf dem Ziel OS
Zum Schluss musst du die Anwendung sowieso auf dem Ziel OS kompilieren, dann kannst du sie dort auch gleich testen. Wenn jetzt alles geht, dann hast du dein Programm portiert, wenn nicht, dann musst du an den Stellen wo es noch hakt eben etwas rumbasteln.
WinXP 32 Bit, PureBasic 4.40 (x86)
Antworten