Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 29.09.2007, 12:47 Titel: |
|
|
oO(is mir neu) Du koenntest die Sourcen auch nach FB Portieren, dann brauchst auch keine DLL mehr  _________________
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 29.09.2007, 12:52 Titel: |
|
|
Der Aufwand ist ja nicht nötig, da ja der GCC exakt die gleichen Binärformate für Object-Files und Librarys benutzt, wie FB. Nur scheint der Compiler ein *kleines* Problem mit den Windows Sockets Funktionen ("WSA...") zu haben
EDIT:
Den "Undefined Reference to 'SDL_SetError@0'"-Fehler habe ich duch ein wegbekommen (vor allen anderen #includes.) _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 29.09.2007, 16:58 Titel: |
|
|
Langsam kapier ichs net mehr:
es kommen ein paar undefined refernce to...-Fehler, aber alle genannten Funktionen sind in der winsock2.h deklariert, die ich auch include!  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 29.09.2007, 22:06 Titel: |
|
|
goil.
In ~2 Minuten mit Dev-CPP vertraut gemacht, kurz SDL + SDLMain in den Linker Options eingetragen (fürs SDL_Net-Project), und ruck-zuck ist's Fehlerfrei fertig compiliert. goil. _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 29.09.2007, 22:48 Titel: |
|
|
die static konnte ich selbst problemlos compilieren, aber die DLL leider nicht  _________________
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 01.10.2007, 15:06 Titel: |
|
|
An diejenigen, die das Problem immer noch nicht verstanden haben:
Beim statischen Linken linkt man die gesamte Lib in die .exe rein, hat am Ende also eine einzige grosse .exe. Beim dynamischen Linken linke ich nur die Bindungen (.dll.a) rein, brauche zur Laufzeit aber noch die DLL's, was bei GTK so Stücker 15 sind. Unschön, wenn man das Ganze weitergeben möchte.
Nun zum eigentlichen Punkt: C/C++-Kompilierung so grosser Projekte wie SDL, GTK o.ä. ist eine eigene Kunst. Das kriegt man, wenn man vorher noch nie C programmiert hat, erst nach Wochen wirklich gebacken. Bei Projekten ruft man nie den gcc direkt auf, sondern das make-Skript. In dem kriegt der Compiler gesagt, wie er die paar Tausend Abhängigkeiten auflöst, die so eine Lib enthält.
Also: Lass es lieber, es bringt nichts, das selbst zu versuchen, es sei denn mit einem C-Freak zusammen.
Aber: Melde dich doch mal bei der entsprechenden Lib-Community (also z.B. SDL Discussion Group oder sowas) und frage dort nach! Vielleicht gibt's die statischen Libs schon längst?
Grüsse!
Croco |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 02.10.2007, 11:07 Titel: |
|
|
OK, das is was anderes. Kenne SDL nicht. GTK jedenfalls z.B. dürfte eine grössere Aufgabe sein. Na, dann Gratulation, dass das mit SDL geklappt hat. Könntest du die .a-Dateien hier mal posten oder irgendwo zum Download hinstellen?
Viele Grüsse!
Croco |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 02.10.2007, 17:27 Titel: |
|
|
Das ist ein Unterschied
Hier ging es um SDL_net, und dass ist "nur" eine kleine Netzwerklibrary als Ergänzung zu SDL.
Die SDL Main hat ansich locker ~100 Files. Die habe ich ja auch nur ohne DX kompiliert bekommen... SDLnetUDP.c konnte ich nicht kompilieren, da es da ~30 Fehlermeldungen gibt, auch SDLnetselect.c net, aber die beiden brauch' ich ja eh nicht  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 02.10.2007, 18:39 Titel: |
|
|
kann mir das ganze vielleicht ma jemand an hand eines beispiels naeher bringen? ich dachte immer die 'static' libs (also .a files) sind nur zum linken der eigentlichen DLLs gedacht... waerend man, wenn man diese nicht hat, die DLL 'dynamic' laedt oO _________________
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 02.10.2007, 19:27 Titel: |
|
|
Aaalssoo:
Normalfall: Du hast in lib/win32/ eine SDL_net.dll.a .
Das ist die Import Bibliothek, damit ld.exe die DLL einbinden kann, die DLL wird zur Laufzeit benötigt.
"Mein" Fall: Du hast in lib/win32/ eine SDL_net.a (Das .dll fehlt).
Sie ist keine Import Bibliothek, sondern in dieser Datei ist der Programmcode der SDL_Net.dll drin. Die SDL_Net.dll wird nicht mehr zur Laufzeit benötigt. _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 03.10.2007, 14:05 Titel: |
|
|
Und das klappt mit jeder DLL? _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 04.10.2007, 08:28 Titel: |
|
|
ok, klingt soweit einleuchtend (werds ma austesten) dennoch, wieso kann ich, wie zB bei der SDL_grx problemlos eine static compilieren aber nicht die DLL ? ist doch im prinzib mehr oder weniger das selbe ? _________________
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 04.10.2007, 15:41 Titel: |
|
|
Ne eben nich, da in der DLL der gesamte Programmcode drin ist, und du im Zielprog nicht mehr z.B. die winsock Header includen musst, bei einer Static schon  _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
|