OVH Cloud OVH Cloud

[HS] Compilation static

1 réponse
Avatar
Kevin Barbier
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bonjour,

Je tient tout d'abort a m'escuser pour ce HS, mais mon serveur de news
ne me permet pas de poster sur fr.comp.linux.moderated (ni sur aucun
groupe modere d'ailleur...).

Voici mon probleme :

J'ai un programme en C utilisant les bibliotheques SDL et SDL_image que
je voudrais compiler en static.

Pour ceci, j'ai modifier la variable d'environement LDFLAGS avec :

$ export LDFLAGS="-static"

Comme le dit 'configure --help'.

J'ai ensuite re-lance 'configure' pour qu'il re-generent les Makefiles.

Mais a la compilation (au linkage pour etre precis, les *.o sont generes
sans probleme), j'obtient beaucoup d'erreurs.

J'en met juste quelques lignes car il y en a vraiments un bon paquet, et
c'est toutes les meme, avec juste les nom de fonctions qui differe ... :

- -------------------------------------------------------------------
/home/kevin/prg/src/main.c:238: undefined reference to `SDL_Init'

main.o(.text+0x45e):/home/kevin/prg/src/main.c:239: undefined reference
to `SDL_SetVideoMode'

main.o(.text+0x476):/home/kevin/prg/src/main.c:241: undefined reference
to `SDL_WM_SetCaption'

main.o(.text+0x62c):/home/kevin/prg/src/main.c:277: undefined reference
to `SDL_FreeSurface'
- --------------------------------------------------------------------

Par contre la compilation static sur des programmes n'utilisants pas
SDL, mais juste les fonctions standards (stdio, stdlib ect...) passe
sans probleme.

Merci par avance

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAO1jAiiKu3Dj3sHERAg7gAJ47u3ON4MZKsdOFo19qAqHOIafGGwCg12lj
A1nF5/zQ6bYLb321NpKPXro=
=H7Ih
-----END PGP SIGNATURE-----

1 réponse

Avatar
Cem
Le 24-02-2004, Kevin Barbier a écrit :
J'ai un programme en C utilisant les bibliotheques SDL et SDL_image que
je voudrais compiler en static.

Pour ceci, j'ai modifier la variable d'environement LDFLAGS avec :

$ export LDFLAGS="-static"

Comme le dit 'configure --help'.

J'ai ensuite re-lance 'configure' pour qu'il re-generent les Makefiles.

Mais a la compilation (au linkage pour etre precis, les *.o sont generes
sans probleme), j'obtient beaucoup d'erreurs.

Est-ce que lalibrairie /usr/lib/libSDL.a existe bien sur ta machine.

Si ce n'est pas le cas, installe le package qui la contient.
Si elle est bien présente essaie plutôt de faire
export LDFLAGS="-static -lSDL"
avant le configure.