Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Se dispenser des .dll.  (Lu 2504 fois)

0 Membres et 1 Invité sur ce sujet

Talchane

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
    • E-mail
Se dispenser des .dll.
« le: Mai 19, 2020, 05:34:34 pm »
Bonsoir à toutes et à tous,

Lors du lancement d'un programme utilisant la sfml, nous avons besoin de joindre des dlls avec l'executable ou bien un message d'erreur apparait signalant une dll manquante. En ajoutant la variable d'environnement dans le path MinGW/bin, lancer depuis la console un programme nous dispense des dlls. Cependant, en lançant un programme depuis un ordinateur quelconque ne possédant pas la SFML d'installé, on a besoin des dlls !

Ma question est donc : comment compiler un programme de telle sorte à ce que les dlls ne soient pas nécessaire au démarrage du programme sur un ordinateur ne possédant pas la SFML ?

Merci d'avance à celui ou celle qui m'aidera ;)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Se dispenser des .dll.
« Réponse #1 le: Mai 19, 2020, 06:04:40 pm »
Il faut lier des bibliothèques statiques, de façon à ce que le code soit intégré à l'exécutable. Si c'est SFML c'est facile et c'est expliqué dans la documentation, si ce sont les DLLs du compilateur (bibliothèque standard, threads, ...), alors il y a des options spécifiques à lui passer pour utiliser des équivalents statiques.

Attention cependant, certaines options peuvent être incompatibles avec la manière dont SFML a été compilée, et il faudra dans ce cas la recompiler toi-même avec ces options.
Laurent Gomila - SFML developer

Talchane

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
    • E-mail
Re: Se dispenser des .dll.
« Réponse #2 le: Mai 24, 2020, 11:27:03 pm »
Bonsoir Laurent et merci beaucoup pour ta réponse.

J'ai cherché dans la documentation, mais étant donné qu'elle est grosse, je n'ai rien trouvé concernant ce que je cherche (liaison des bibliothèques statiques).
Pourrais-tu me rediriger vers un lien expliquant ce que je cherche à faire ? Il s'agit seulement de la SFML, pas des dlls du compilateur.

Merci d'avance.

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re: Se dispenser des .dll.
« Réponse #3 le: Mai 25, 2020, 04:32:52 am »
https://www.sfml-dev.org/faq.php#build-link-static
(désolé la FAQ n'a pas l'air d'exister en FR mais il y a un long passage équivalent sur le tuto pour compiler avec codeblocks/mingw si tu es totalement anglophobe)

De plus, si tu compiles avec MinGW il faudra faire attention à l'ordre dans lequel tu lies (l'ordre est indiqué dans la question précédant celle du lien)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Se dispenser des .dll.
« Réponse #4 le: Mai 25, 2020, 08:23:40 am »
La façon de lier statiquement SFML est décrite dans le tutoriel de démarrage pour ton compilateur.

https://www.sfml-dev.org/tutorials/2.5/index-fr.php#dcemarrer
Laurent Gomila - SFML developer