| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 19.11.2012, 11:51    Titel: Trotz MiniB3D Standalone file? |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| Westbeam 
 
  
 Anmeldungsdatum: 22.12.2009
 Beiträge: 760
 
 
 | 
			
				|  Verfasst am: 19.11.2012, 13:29    Titel: |   |  
				| 
 |  
				| 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.  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 20.11.2012, 09:55    Titel: |   |  
				| 
 |  
				| Ok. Aber die Möglichkeit besteht das es funktionieren würde? Kennt sich vielleicht jemand in diesem Forum damit aus?
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| St_W 
 
  
 Anmeldungsdatum: 22.07.2007
 Beiträge: 958
 Wohnort: Austria
 
 | 
			
				|  Verfasst am: 20.11.2012, 13:35    Titel: |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| harrybro Gast
 
 
 
 
 
 
 | 
			
				|  Verfasst am: 21.11.2012, 11:37    Titel: |   |  
				| 
 |  
				| Frag mich aber nicht wie das geht |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 21.11.2012, 15:11    Titel: |   |  
				| 
 |  
				| 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
   
 Gibt es nicht schon eine fertige Lib.a mit .bi file von Openb3d für FB?
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| St_W 
 
  
 Anmeldungsdatum: 22.07.2007
 Beiträge: 958
 Wohnort: Austria
 
 | 
			
				|  Verfasst am: 21.11.2012, 16:20    Titel: |   |  
				| 
 |  
				|  	  | 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 |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 21.11.2012, 20:11    Titel: |   |  
				| 
 |  
				|  	  | 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 |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 21.11.2012, 22:29    Titel: |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| St_W 
 
  
 Anmeldungsdatum: 22.07.2007
 Beiträge: 958
 Wohnort: Austria
 
 | 
			
				|  Verfasst am: 21.11.2012, 23:54    Titel: |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 22.11.2012, 17:54    Titel: |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 25.11.2012, 11:04    Titel: |   |  
				| 
 |  
				| 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  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| micha 
 
 
 Anmeldungsdatum: 09.12.2005
 Beiträge: 72
 
 
 | 
			
				|  Verfasst am: 06.12.2012, 10:31    Titel: |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 27.12.2012, 23:42    Titel: |   |  
				| 
 |  
				| 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 |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 28.12.2012, 01:43    Titel: |   |  
				| 
 |  
				| 
  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
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 28.12.2012, 10:15    Titel: |   |  
				| 
 |  
				|  	  | 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
   
 Kurze frage noch du kompilierst das bestimmt unter linux oder?
 oder würd es auch mit der mingw für windows gehen?
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Westbeam 
 
  
 Anmeldungsdatum: 22.12.2009
 Beiträge: 760
 
 
 | 
			
				|  Verfasst am: 28.12.2012, 14:08    Titel: |   |  
				| 
 |  
				| MinGW gibts auch für Windows, sollte dort also auch gehen.  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 30.12.2012, 17:48    Titel: |   |  
				| 
 |  
				| MinGW gibts nur für Windows   
 Aber ja, sollte gehen. Ich hab's allerdings nicht ausprobiert.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| micha 
 
 
 Anmeldungsdatum: 09.12.2005
 Beiträge: 72
 
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 0oFreako0 
 
 
 Anmeldungsdatum: 17.12.2011
 Beiträge: 114
 
 
 | 
			
				|  Verfasst am: 03.01.2013, 16:18    Titel: |   |  
				| 
 |  
				| Thx @ll ich werd mir das mal mit der Static Variante anschauen  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |