Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Trotz MiniB3D Standalone file?
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 19.11.2012, 11:51    Titel: Trotz MiniB3D Standalone file? Antworten mit Zitat

Hi ich hätte mal eine Frage an euch! Und zwar ist es möglich die MiniB3D in die Executable einzubringen so das ich am Ende ein Standalone file erhalte?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 19.11.2012, 13:29    Titel: Antworten mit Zitat

Dafür musst du den Quellcode der OpenB3D(so heißt das jetzt)Lib als eine .a Bibliothek kompilieren. Frag mich aber nicht wie das geht, dafür sollte man mehr Erfahrung mit C++ haben. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 20.11.2012, 09:55    Titel: Antworten mit Zitat

Ok. Aber die Möglichkeit besteht das es funktionieren würde?
Kennt sich vielleicht jemand in diesem Forum damit aus?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 20.11.2012, 13:35    Titel: Antworten mit Zitat

Im Grunde geht das ganz einfach:
Normalerweise hast du ja den OpenB3D Quellcode und compilierst diesen zu einer DLL und verwendest diese dann. Nun machst du im Grunde dasselbe, außer im letzten Schritt linkst du das ganze nicht zu einer DLL, sondern zu einer statischen lib (.a).

Ich hab das mal testweise gemacht und hab dir das Ergebnis hochgeladen (OpenB3D 0.6): http://users.freebasic-portal.de/stw/files/prog/fb/misc/libopenb3d.a

Damit das dann mit FB korrekt linkt, musst du die lib dem fbc entweder per Parameter mitteilen oder eben im Code per Meta-Befehl #INCLIB

Is aber leicht möglich, dass mein Kompilat nicht so funktioniert wie es soll - ich hab z.B. diverse Compiler Warnings einfach mal ignoriert. Müsstest du dir dann halt im Detail anschauen und selber kompilieren.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
harrybro
Gast





BeitragVerfasst am: 21.11.2012, 11:37    Titel: Antworten mit Zitat

Frag mich aber nicht wie das geht
Nach oben
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 21.11.2012, 15:11    Titel: Antworten mit Zitat

Ich hab mich mal ein wenig mit dem kompilieren und das einbinden der openb3d lib beschäftigt.
Mein Resultat besteht aus etlichen Fehler Meldungen.
Ich denke man müsste dann auch die Header Datei mit Swig Converten und Manuell bearbeiten traurig

Gibt es nicht schon eine fertige Lib.a mit .bi file von Openb3d für FB?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 21.11.2012, 16:20    Titel: Antworten mit Zitat

0oFreako0 hat Folgendes geschrieben:
Gibt es nicht schon eine fertige Lib.a mit .bi file von Openb3d für FB?

Hast du meine Version ausprobiert?
An den Headern wird nicht viel zu ändern sein -- und schon gar keine neu-übersetzung durch SWIG notwendig sein.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 21.11.2012, 20:11    Titel: Antworten mit Zitat

Zitat:
Hast du meine Version ausprobiert?

Jap habe ich.
Bekomme aber lauter Fehler und Warnings angezeigt.

Hier ist mein Testcode der einen Oldschool Tunneleffect und einen Würfel darstellt:

Code:


#Include "openb3d.bi"
'#Inclib "libopenb3d.a"
#Define Render_OpenGL
#Include "fbgfx.bi"



Dim screen_width As Integer = 640
Dim screen_heigth As Integer = 480

ScreenRes screen_width,screen_heigth,32,,&h10002
graphics3d screen_width,screen_heigth,32,1,1
WindowTitle "OpenB3d Test"

Var light = createlight()
Var cam = createcamera()
MoveEntity cam,0,0,-20

Dim tex As Byte Ptr = ImageCreate(256,256,0,32)
Var texture = createtexture(256,256,1,1)
Dim c As Integer
Dim move_tex As integer = 1


Var tunnel = createcylinder(30)
rotateentity tunnel,90,0,0
scaleentity tunnel,3,20,3
flipmesh tunnel


For x As Integer = 0 To 256
   For y As Integer = 0 To 256
      c = x*2 Xor y*2
      PSet  tex,(x,y),c
   Next
Next


buffertotex texture,tex+32,1
scaletexture texture,0.2,0.2
entitytexture tunnel,texture


Var cube = createcube()
positionentity cube,0,0,- 15
entitycolor cube,0,0,255
entityalpha cube,0.5


Do
   

   turnentity tunnel,0,0.2,0
   turnentity cube,0.1,-0.2,.3
   
   renderworld
   
   Sleep 1
   Flip
   
Loop Until InKey = Chr(27)



clearworld()
End

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 21.11.2012, 22:29    Titel: Antworten mit Zitat

Korrekte GCC-Umgebung vorrausgesetzt dürfte sich das auf ein
./configure
CFLAGS=-Wl,-static CCFLAGS=-Wl,static make
ggf. make install
beschränken.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 21.11.2012, 23:54    Titel: Antworten mit Zitat

Hab nochmals ein wenig rumprobiert. Meine .a von oberhalb passt jedenfalls, so wie sie hier ist NICHT. Habs nochmals compiliert und dann diverse OpenGL und C/C++ Bibliotheken manuell dazugelinkt. Bis ich dann überall so halbwegs die richtigen Versionen gefunden hatte dauerte es noch ein Weilchen, es kam aber schlussendlich ein Lauffähiges Programm (rotierender blauer Würfel auf rotierendem rot/schwarz kariertem Hintergrund) raus.
Dieses hängt jedoch noch immer von einer "libgcc_s_dw2-1.dll" ab, was du wahrscheinlich dann auch nicht haben willst. Das schau ich mir evt. übermorgen an, wie man die C Library auch noch vollständig statisch reinkompilieren kann.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 22.11.2012, 17:54    Titel: Antworten mit Zitat

Nimm mal nen Build mit sjlj statt dwarf-2, dann fällt die glaube ich raus. Ansonsten flog da je nach Build auch ne statische Version von rum.
/e: Also jeweils vom Compiler.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 25.11.2012, 11:04    Titel: Antworten mit Zitat

Danke euch für eure Hilfen nur bekomme ich es ohne Errors einfach nicht hin. Wäre voll cool wenn der ein oder andere es schaffen würde ein RL zu posten oder halt die freeware tools die man benötigt um die lib zu compilen lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
micha



Anmeldungsdatum: 09.12.2005
Beiträge: 72

BeitragVerfasst am: 06.12.2012, 10:31    Titel: Antworten mit Zitat

Offene Referenzen zur dynamischen lib "libgcc_s_dw2-1.dll" werden durch #inclib "gcc_eh" aufgelöst.

Die anderen C++ Verweise mit #inclib "stdc++"

Es versteht sich von selbst das dabei "libgcc_eh.a" sowie "libstdc++.a" von selben MinGW Paket verwendet werden muss womit auch libopenb3d.a" kompiliert wurde.

Die Lib's findet man im Ordner:
Laufwerk:\PfadZuMinGW\lib\gcc\mingw32\4.4.1
Laufwerk:\PfadZuMinGW\lib\gcc\mingw32\4.6.2
oder
Laufwerk:\PfadZuMinGW\lib\gcc\mingw32\4.7.2

Je nach dem mit welcher Version Kompeliert wurde.

micha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 27.12.2012, 23:42    Titel: Antworten mit Zitat

Hi ich bin es nochmal.
Auch nach längeren versuchen die minib3d lib in die executable mit einzubinden schlug fehl.

Ich hoffe der ein oder andere kann mir weiterhelfen wie ich es hinbekomme eine Funktiontüchtige lib zu converten. Oder mir weiter helfen kann welche Tools und Sachen ich alle benötige. Wäre euch total dankbar!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 28.12.2012, 01:43    Titel: Antworten mit Zitat


  1. C++ Compiler
  2. g++ -c -o blabla.o blabla.c für alle C++-Sources
  3. ar rcs lib<name>.a .o-Dateien


Muss man manuell machen, bei OpenB3D liegt wohl keine Makefile bei. Oder halt selber fix ne Makefile schreiben.
http://pastebin.com/7Yt8S4H6
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 28.12.2012, 10:15    Titel: Antworten mit Zitat

Zitat:

C++ Compiler
g++ -c -o blabla.o blabla.c für alle C++-Sources
ar rcs lib<name>.a .o-Dateien


Muss man manuell machen, bei OpenB3D liegt wohl keine Makefile bei. Oder halt selber fix ne Makefile schreiben.
http://pastebin.com/7Yt8S4H6


Dank dir lächeln

Kurze frage noch du kompilierst das bestimmt unter linux oder?
oder würd es auch mit der mingw für windows gehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 28.12.2012, 14:08    Titel: Antworten mit Zitat

MinGW gibts auch für Windows, sollte dort also auch gehen. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 30.12.2012, 17:48    Titel: Antworten mit Zitat

MinGW gibts nur für Windows zwinkern

Aber ja, sollte gehen. Ich hab's allerdings nicht ausprobiert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
micha



Anmeldungsdatum: 09.12.2005
Beiträge: 72

BeitragVerfasst am: 31.12.2012, 14:10    Titel: Antworten mit Zitat

Here gibt es auch eine static openb3b version.
http://www.freebasic.net/forum/viewtopic.php?f=14&p=182868&sid=0034e4a4d46ca6165b541b793c4259ee#p182868

micha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 03.01.2013, 16:18    Titel: Antworten mit Zitat

Thx @ll ich werd mir das mal mit der Static Variante anschauen lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz