Suche freeglut 3.0.0 als statische *.LIB

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Suche freeglut 3.0.0 als statische *.LIB

Beitrag von Mijikai »

Ich suche freeglut 3.0.0 als statische library. :(

freeglut:
https://www.transmissionzero.co.uk/soft ... lut-devel/
http://freeglut.sourceforge.net

Leider kenn ich mich zu wenig aus um diese selbst zu erzeugen :oops:
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von ccode_new »

Hallo Mijikai,

beim statischen Linken muss man auch alle Abhängigkeiten (der Reihe nach) mit linken.

Unter welchen Betriebssystem (und unter welchem Compiler-System) möchtest du denn die libglut.a(lib) linken ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von Mijikai »

ccode_new hat geschrieben:...Unter welchen Betriebssystem (und unter welchem Compiler-System) möchtest du denn die libglut.a(lib) linken ?

Es wäre (MSVC) Windows 10 primär x64
damit die *.lib mit PB verwendet werden kann.

Code: Alles auswählen

Import "freeglut_static.lib"
  glutInit(...)
  ...
EndImport
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von edel »

guck mal hier:
https://www.npcglib.org/~stathis/blog/b ... /#freeglut

Muesste aber schon was aelter sein.

Alternativ einfach mal die statische Lib aus dem MinGW Paket versuchen. Die ist dann auch aktuell.
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von Mijikai »

Danke für den Link & Hinweis :)
mal sehen ob es damit geht.
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von ccode_new »

Mmmh!

Statisches Linken ist uncool!

Müsste man dann nicht ALLE Funktionen (Funktionsheader) Purebasic bekannt geben bevor da auch nur irgend etwas klappt.

Und free_glut (ehemals GLUT), also libglut.a/lib enthält sehr viele Funktionen. Enthalten in diesen ganzen Objectdateien:

libglut_la-freeglut_callbacks.o libglut_la-freeglut_cursor.o libglut_la-freeglut_display.o libglut_la-freeglut_ext.o libglut_la-freeglut_font.o libglut_la-freeglut_font_data.o libglut_la-freeglut_gamemode.o libglut_la-freeglut_geometry.o libglut_la-freeglut_glutfont_definitions.o libglut_la-freeglut_init.o libglut_la-freeglut_input_devices.o libglut_la-freeglut_joystick.o libglut_la-freeglut_main.o libglut_la-freeglut_menu.o libglut_la-freeglut_misc.o libglut_la-freeglut_overlay.o libglut_la-freeglut_spaceball.o libglut_la-freeglut_state.o libglut_la-freeglut_stroke_mono_roman.o libglut_la-freeglut_stroke_roman.o libglut_la-freeglut_structure.o libglut_la-freeglut_teapot.o libglut_la-freeglut_videoresize.o libglut_la-freeglut_window.o libglut_la-freeglut_xinput.o

... mit noch weiteren Abhängigkeiten.

Unter C (Z.Bsp. bei Linux) hat man da ja auch noch die DEV-Header-Dateien.

Unter Linux kann man die freeglut_libs dank cmake-files ja sehr einfach kompilieren.

cmake (Freeglut-Verzeichnis) ;Erstellt ein makefile
make
make install

Es gibt ja aber auch für Linux oder Windows schon fertig kompilierte statische/dynamische Freeglut-Libs.

Persönlich ziehe ich ja die dynamische Variante vor.

Mit Static-Bindings kenne ich mich auch zu wenig aus.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von Mijikai »

Ich hab bisher nur statische libs in fasm geschrieben (fasm *.obj -> *.lib).

Statische libs sind einfach zu verwenden:

Code: Alles auswählen

Import "statische.lib"
   Funktion1(a,b,c)
   Funktion2(a,b,c)
EndImport
Also das Gleiche wie bei einer dynamische lib, nur das danach
keine *.dll mit rumgeschleppt werden muss.
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von ccode_new »

Ja....

Aber du müsstest doch mindestens ALLE Funktionsköpfe definieren.
Nicht nur welche du gerne hättest. (Wie bei Shared-Libs)

Und ich glaube das ganze hat noch andere Fallstricke.

Aber probiere erst einmal.

Du bist doch clever!
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von RSBasic »

Mijikai hat geschrieben:Also das Gleiche wie bei einer dynamische lib, nur das danach
keine *.dll mit rumgeschleppt werden muss.
Falls das wirklich ein Problem bzw. Nachteil sein sollte, könnte man die DLL-Datei auch inkludieren und beim Start ins Temp-Verzeichnis entpacken. Dann hat man auch nur eine einzige Executable-Datei.
Und für später CatchLibrary(): http://www.purebasic.fr/english/viewtop ... =3&t=43442
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Suche freeglut 3.0.0 als statische *.LIB

Beitrag von edel »

ccode_new hat geschrieben:Ja....

Aber du müsstest doch mindestens ALLE Funktionsköpfe definieren.
Nicht nur welche du gerne hättest. (Wie bei Shared-Libs)

Und ich glaube das ganze hat noch andere Fallstricke.

Aber probiere erst einmal.

Du bist doch clever!
Nein, darauf kann verzichtet werden. Im besten Fall hast du zwar alle Funktionen in deinem Importblock, es reicht aber nur die Funktionen zu importieren, die man benutzt. Den Rest erkennt der Linker selber.
Antworten