begin process at 2012 02 11 04:08:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Exécutable compilé sur une machine ne fonctionne pas sur une autre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exécutable compilé sur une machine ne fonctionne pas sur une autre

vendredi 27 avril 2007 à 02:30:42 | Exécutable compilé sur une machine ne fonctionne pas sur une autre

Geurtrud

Est-ce normal qu'un programme compilé sur une machine, qui fonctionne parfaitement sur celle-ci, ne fonctionne pas sur d'autres. C'est-ce qui m'arrive en ce moment. Lorsque je copie le fichier exe sur une autre machine j'obtiens un message qui me dit que l'application ne peut démarrer parceque la configuration n'est pas correct.

J'ai essayé plusieurs applications que j'ai créé sur mon ordi (dont un n'est qu'un simple "Bonjour le monde") qui ont planté sur d'autres machines. Que se passe-t-il?


Merci de votre aide

Philippe
vendredi 27 avril 2007 à 05:53:15 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

THEwarrior333

En fait le principe de la compilation est de transformer le code dit "haut niveau" tel que le C, en langage comprehensible par la machine. Hors toutes les machines ne parlent pas exactement le meme langage, aussi chaque compilateur est désigné pour une ou plusieurs machines (selon le processeur Intel, AMD, etc ou encore le systeme d'exploitation). Essais de changer de compilateur.
Quel compilateur utilises-tu et sur quelles machines as-tu effectué les tests?

vendredi 27 avril 2007 à 08:58:08 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

Cphil51

Si t'es sur PC avec VISUAL, va dans les options de ton projet -> C/C++ -> Génération du code
Dans l'entrée Bibliothèque runtime, choisire Multithread ou Débogage Multithread au lieu de la dll.

L'exe final sera plus gros mais passera partout.
 (La dll de runtime est installée avec Visual... donc ca passe pas sur les autres machines qui n'ont pas cette dll)
vendredi 27 avril 2007 à 10:53:32 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

Nixeus

Tu n'as pas fais de .net au moins?
vendredi 27 avril 2007 à 16:42:29 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

Geurtrud

Merci Phil,

ta solution fonctionne partiellement. Je l'ai essayé sur un projet Win32 console et effectivement je suis maintenant capable d'exécuter le fichier .exe sur d'autre machine. Le fichier a effectivement grossi ( de 48k à 612k!).

Cependant pour un projet CLR Windows Form Application, à la compilation j'obtiens un message d'erreur m'indiquant que l'option multithread n'est pas compatible avec le CLR pur. J'imagine que cela est en relation avec le commentaire de Nixeus. Y-a-t-il alors une solution?

J'ai également pensé à copier la dll runtime sur les autres machines: est-ce une alternative valable? Si oui quel est le nom des 2 dll (puisqu'il y en a un pour debug et l'autre release) et où sont - elles localisées?  où devrais-je les installés sur les nouvelles machines?

Merci encore une fois ... je sens que je progresse.

Philippe

vendredi 27 avril 2007 à 16:51:38 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

Geurtrud

Nixeus,

j'ai quelque projets CLR Windows Form application. J'imagine que c'est du dot Net. Si c'est le cas que proposes-tu? Une autre technologie, laquelle?

Merci

Philippe

vendredi 27 avril 2007 à 17:16:52 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

BruNews

Administrateur CodeS-SourceS
Une autre techno ???
Certes, du natif C/C++ direct sur API Windows.

Dans tous les cas, aucun prog en interprété, que soit du .net ou autre, ne se livre sans un setup, jamais directement l'exe.

ciao...
BruNews, MVP VC++
vendredi 27 avril 2007 à 17:17:37 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

Cphil51

Je ne peut plus t'aider si tu fais du dotNet. Etant donné que je n'aime pas dotNet et que je ne l'utilise pas, je ne peut pas te renseigner.

Les dll de runtime de la libc sont msvcrt*.dll avec * qui contient une partie variable. "msvcrt70.dll" par exemple (msvcrtd*.dll pour le debug).
Pour les dll de runtime de dotNet il suffit d'installer le framework .NET sur tes machines.
vendredi 27 avril 2007 à 18:09:30 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

Geurtrud

BruNews,

pourrais-tu m'indiquer des liens sur l' ABC de produire des set-up que ce soit pour du natif  C/C++, du managed C/C++, du dot.Net etc.

Merci

Philippe

vendredi 27 avril 2007 à 21:45:08 | Re : Exécutable compilé sur une machine ne fonctionne pas sur une autre

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Un exe natif n'a besoin de rien pour tourner sur un autre Windows.

Dans Visual Studio, il y a "projet de déploiement" mais je ne saurais t'en dire plus, je ne fais que du natif.

ciao...
BruNews, MVP VC++

1 2

Cette discussion est classée dans : fonctionne, machine, exécutable, compilé


Répondre à ce message

Sujets en rapport avec ce message

Communication entre 2 programmes [ par agremlins ] Bonjour, J'ai 2 programmes existant qui se partage des données par le réseaux. Le tout est sous windows  L'un fonctionne seul; on l'appelera prog1. Et Exécutable qui ne fonctionne pas sans .NET [ par TreCool0 ] Bonjour à tous,J'ai un petit souci : j'ai crée un exécutable en C++ avec Visual Studio 2008 Express, qui utilise DirectShow. J'ai essayé de faire marc Utilisation et fonctionnement de gethostbyname() [ par lolo38550 ] Bonjour à tous,Je développe en C une application client serveur sous windows. Côté client, j'utilise la fonction gethostbyname de la librairie winsock machine vertuelle du langauge c [ par merioma ] salut à tous le monde,je veux télécharger un compilateur pour le langage C, SVP donner moi un site où je peux le telecharger.j'attends vos repense, me programme socket client/serveur dans seul ficier [ par hanane7575 ] bonjour tout le monde, j'au une ptite problem j'ai deja faire un programme client/serveur qui permet de transfers des fichies a ce niveau la tt passe portabilité dll c++ [ par fbossens ] Bonjour,Je suis aussi occupé à esayer de faire une dll c++ avec visual studio 2008  (pour créer des fonctions accessibles en VBA) , et j'ai un problèm Distribution linux pour firewall et outils de surveillance du trafic&Disques [ par wizard512 ] Bonjour tous le monde =) Je voudrais obtenir votre avis sur 2 sujets. J'ai un veille machine dont je so Plus de précision [ par ChloeG ] Bonjour,Ma question est peut-être bête, mais je n'ai pas trouver grand chose sur le net. Mon problème, c'est que j'ai besoin de manipuler des chiffres Glaux [ par sim737 ] Bonjour à tous, J'ai fais un programme avec du graphique en OpenGL. Chez moi le programme fonctionne très bien. Cependant, sur d'autre ordinateur,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,650 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales