C++ Wrapper für PureBasic erstellen

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

C++ Wrapper für PureBasic erstellen

Beitrag von Vermilion »

Moin!

Das Vorwort
Die PureBasic OGRE Engine hat mit PureBasic 4.30 einen großen Sprung gemacht, doch es gibt für mich immernoch ein paar Ecken und Kanten, die leider nicht zu akzeptieren sind. Deshalb ziehe ich doch in Betracht, wohl die Engine zu wechseln, aber anstatt auf Dinge wie Irrlicht und N3XTD zu vertrauen, habe ich auch mal an das gedacht, was ich eigentlich schon habe bzw. genauso kriegen kann: OGRE. Das Problem ist nur die Einbindung in PureBasic, wenn man die von-Haus-aus Library von PureBasic weglässt.
Google war mir keine große Hilfe, als ich nach Hilfe zu meiner Frage suchte, meistens ging es nämlich nur um die Migration von C++ Anwendungen zu .NET oder zu C#. Den einzigen, wirklich aufklärenden Anhaltspunkt habe ich hier im PureBoard selbst gefunden.
Mit C++ habe ich noch keine großen Erfahrungen (zwar mal ein Lehrbuch darüber durchgearbeitet, aber C# erhielt dann schnell meine Aufmerksamkeit), deshalb ist mir das noch nicht so klar mit dem DLL_EXPORT Kram.

Meine Frage(n)
Gibt es hier jemanden, der schon mal C++ Wrapper für PureBasic erstellt hat? Was muss man beachten? Wie mache ich das (richtig)? Wie mit Visual C++? Ich verlange keine 12 seitigen Erklärungen, nur kurze Tipps und so weiter :)
Übung macht bekanntlich den Meister, aber bevor ich mich Monate damit rumschlage, meinen Quelltext 10.000 mal über'n Müll werfe, weil ich immer irgendeinen grundlegenden Fehler entdeckt habe, frage ich lieber das obige ("wie machte ich das (richtig)?") :)

Mein derzeitiger stand

Im Prinzip sieht es also immer ungefähr so aus, das ist auch nicht schwer zu verstehen:
Thalius hat geschrieben:STATIC_EXPORT ISceneNode* DLL_EXPORT IrrGetNodeParent( ISceneNode* node )
{
return node->getParent();
}
Nur das drumherum, wie ich das mache....
Ich muss OGRE nicht in Quelltextform runterladen und selbst kompilieren, richtig? Ich kann auch eine vorkompilierte Version verwenden, um dafür meinen Wrapper zu schreiben, oder? Wobei die Quelltext Form vielleicht besser wäre, weil man da viel unbenötigten Kram rausschmeißen kann.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Re: C++ Wrapper für PureBasic erstellen

Beitrag von milan1612 »

Zu dem Export Makro kann ich bloß auf mein Tutorial hier verweisen:
http://purebasic.fr/german/viewtopic.php?f=9&t=20107

Im Grunde ist es das selbe. Schreib eine C++ DLL in der die Wrapper Funktionen enthalten sind.
Im DLL Code inkludierst du die Header Dateien von Ogre und definierst das EXPORT Makro wie
in dem Tutorial gezeigt. Alle Funktionen die dann in Purebasic genutzt werden sollen, müssen
mit dem Makro exportiert werden. Sollte keine große Probleme bereiten.

Ogre bietet schon ein vorkompiliertes SDK an, zusammen mit der Codeblocks IDE und dem
MingW Compiler. Findest du alles hier: http://downloads.sourceforge.net/ogre/O ... g_mirror=1
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Antworten