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

Auteur Sujet: [Résolu]Créer une bonne version de distribution  (Lu 1879 fois)

0 Membres et 1 Invité sur ce sujet

Scawe

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
[Résolu]Créer une bonne version de distribution
« le: Août 12, 2014, 01:59:31 am »
Bonjour à vous ,
Je fais des recherches sans réel résultat, sur  la meilleur façon de structurer son programme final:
Je souhaiterais prochaine distribué un programme utilisant sfml dans un "emballage propre"
En premier point vient le soucis des dll, j'ai appris qu'en static elles étaient compilées dans l'éxecutable, mais est-ce une réele solution ? Ou est-ce qu'un setup qui installerait l'exe, et les dll dans le même dossiers ne serait pas mieux?
Ensuite, pour ce qui est des fichiers médias, je me demandais si il était possible de mettre toutes les images,sons,et musiques dans l'exécutable de manière à les "protéger" ? Ou si il existe une solution pour les rendre inaccessible ?
« Modifié: Août 12, 2014, 05:51:23 pm par Scawe »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Créer une bonne version de distribution
« Réponse #1 le: Août 12, 2014, 07:50:00 am »
Citer
En premier point vient le soucis des dll, j'ai appris qu'en static elles étaient compilées dans l'éxecutable, mais est-ce une réele solution ? Ou est-ce qu'un setup qui installerait l'exe, et les dll dans le même dossiers ne serait pas mieux?
Il n'y a aucun problème à fournir des DLLs à côté de l'exécutable. Ca servirait à quoi de tout fourrer dans l'exe ? Ensuite soit une bête archive, soit un installeur. Ca dépend de tes préférences.

Citer
Ensuite, pour ce qui est des fichiers médias, je me demandais si il était possible de mettre toutes les images,sons,et musiques dans l'exécutable de manière à les "protéger" ?
Oui, tu peux le faire. Mais est-ce réellement utile de vouloir tout protéger ? Protéger contre quoi ?
Laurent Gomila - SFML developer

Scawe

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Créer une bonne version de distribution
« Réponse #2 le: Août 12, 2014, 10:50:35 am »
Merci pour une réponse si rapide :)

Oui, je pencherai plus pour un installateur, qui demande aucune connaissance pour l'utiliser.

C'est que par exemple pour les musiques, c'est des versions adaptés au programme et j'ai bof bof envie que les gens prennent celle ci au lieu de meilleur version plus adapté, sinon c'est surtout pour que ça fasse plus propre comme je disais avant. Tu as le nom d'une technique ou du fait de mettre des médias dans l'exe
?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Créer une bonne version de distribution
« Réponse #3 le: Août 12, 2014, 11:13:46 am »
Si les gens veulent changer les musiques et avoir une expérience de ton programme plus pourrie, je dirais que c'est leur problème. C'est pas comme s'ils pouvaient se retrouver avec des ressources modifiées par erreur.

Inclure des ressources dans l'exécutable c'est assez simple : il suffit de convertir les fichiers en code C++. Ca donne des trucs comme ça :

const unsigned char fileData[] =
{
    0, 58, 129, 2, 3, 49, ... // tous les octets de ton fichier sous cette forme
};

const std::size_t fileSize = ...;

// pour la charger :
resource.loadFromMemory(fileData, fileSize);

Sinon tu as aussi des systèmes tout faits qui te permettent de packager et relire les ressources dans un fichier .dat ou .pak.
Laurent Gomila - SFML developer

Scawe

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Créer une bonne version de distribution
« Réponse #4 le: Août 12, 2014, 11:32:29 am »
Oui, tu marques un point pour les musiques.
Cette méthode marche pour les musiques j'imagine également?

Merci beaucoup pour ces réponses de qualité si rapide en tout cas :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Créer une bonne version de distribution
« Réponse #5 le: Août 12, 2014, 11:48:51 am »
Ca marche pour tout type de fichier, oui.
Laurent Gomila - SFML developer

Scawe

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Créer une bonne version de distribution
« Réponse #6 le: Août 12, 2014, 04:52:22 pm »
Ma dernière question sera de savoir comment récupérer la composition d'un fichier sous forme d'octet , impossible de trouver avec les mots-clefs qui me viennent...

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Créer une bonne version de distribution
« Réponse #7 le: Août 12, 2014, 04:57:07 pm »
C'est très facile à coder, ça doit tenir en 20 lignes de code en utilisant les flux standards (std::fstream). Sinon je pense que tu peux même trouver des programmes qui le font déjà.
Laurent Gomila - SFML developer

Scawe

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Créer une bonne version de distribution
« Réponse #8 le: Août 12, 2014, 05:50:53 pm »
Merci  beaucoup, j'ai toutes les clefs en main , pour ceux qui passerez par là le logiciel HxD convient à la perfection.