Spoolega
Messages postés65Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention27 février 2011
-
22 juil. 2007 à 12:09
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
23 juil. 2007 à 00:25
Bonjour,
Je développe sous Visual Studio 2005 sur une machine 'A'. Sur cette machine, j'arrive a créer des exe autonomes et complétement fonctionnels.
Mais lorsque je lance le même exe sur un machine 'B' (ou la plate forme de développement n'est pas installée) le programme ne se lance pas (rien qu'un MessageBox ne passe pas...).
Je pense qu'il s'agit d'un "problème" lors de la génération de la solution, mais je ne sais pas trop.
Si quelqu'un pouvait m'aider =)
vinc1008881
Messages postés257Date d'inscriptiondimanche 22 août 2004StatutMembreDernière intervention29 septembre 20103 22 juil. 2007 à 12:54
salut,
"j'arrive a créer des exe autonomes" >> ça m'étonnerai...
En fait ton programme utilise des fonctions contenues dans le système d'exploitatation, messagebox() par exemple est contenue dans les dlls de Windows. En fait ton code n'est pas portable puisque tu utilises des fonctions non portable : il ne peux donc pas s'executer sous linux ou mac, qui je suis sur ne reconnait meme pas le format de l'executable...
La solution consiste à programmer portable :
- utilise le C qui est un langage portable ainsi que les fonctions contenues dans les librairies standards (printf.....)
- pour chaque plateforme utilise un compilateur different
- j'ai entendu dire que certaine fonctiond étaient standard sur plusieurs OS (unicode ou quelque comme ça)
Spoolega
Messages postés65Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention27 février 20111 22 juil. 2007 à 13:44
Merci vinc1008881, mais ta réponse ne m'aide pas beaucoup.
Quand je dit que j'arrive a créer des exe autonomes, je veux dire que lorsque tu cliques dessus, il se lance, comme n'importe quels jeux ou logiciels (il n'est plus relié a la plate forme de développement).
Aussi, je n'ai jamais parlé d'une quelconque envie de rendre mon programme portable, je développe sous Windows, pour Windows.
Je suis d'accord avec toi, les "fonctions" Windows sont bien contenues dans les DLL, mais mon problème est que, d'un PC à l'autre, sur le même Os (Win XP) le programme ne fonctionne plus.
Je pense à deux sources possible d'erreur de lancement:
- J'ai entendu parlé des modes Debug et Release de la solution
- Le framework.NET
Peut être que l'un de ces choses est a mettre en cause... ? ^^
Merci.
Spoolega
Messages postés65Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention27 février 20111 22 juil. 2007 à 16:17
Merci pour ces réponses.
Visiblement, ca a l'air assez contraignant s'il faut installer quelque chose sur les PC clients >_<.
Je vais essayer de comprendre ce qui se cache derrière ca -> "compiler avec le switch /MT" ^^.
Il n'y a pas une solution qui pourrait lier tout ce qu'il faut a l'exe lors de la compilation, même si la taille augmentera ?
Merci.