Problème a l'exécution

Signaler
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
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 =)

Merci.

7 réponses

Messages postés
257
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
29 septembre 2010
3
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)
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
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.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
On ne livre QUE du release, jamais de version debug.

Configure tes projets avec ça:
TEMPLATES C/C++ POUR VS 2005
http://www.cppfrance.com/code.aspx?ID=36940

ciao...
BruNews, MVP VC++
Messages postés
130
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
18 août 2008

Un projet MFC est lie a la runtime C et a la runtime MFC par defaut. (Runtime C++ si tu inclues par exemple iostream)
Essayes de compiler avec le switch /MT, sinon deploi et installe ceci http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=fr sur la machine cliente.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
OUPS, c'est bien MFC spécifié en thème de la question, je n'avais pas regardé.
En ce cas il faudra un setup à tout coup.

ciao...
BruNews, MVP VC++
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
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.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Bosse directement par l'API sans MFC et ton exe sera indépendant.

ciao...
BruNews, MVP VC++