-
Erreur à l'exécution
Bonjour,
J'ai créé un projet console avec Visual C++ Express 2007. Sur mon PC, il marche. Je l'ai exécuté sur un PC n'ayant jamais eu de compilateur (ni C, ni C++, ni rien d'autre). Et:
http://i42.servimg.com/u/f42/09/02/54/38/bug_110.jpg
Jusque là, rien de bien particulier, mais après:
http://i42.servimg.com/u/f42/09/02/54/38/bug_211.jpg
Que se passe-t-il? Faut-il inclure les bibliothèques? Si oui, comment?
Merci d'avance,
ProgVal
-
Pour qu'un programme s'exécute sur une machine où Visual n'est pas installé, il faut deux choses:
- Le programme (ainsi que toutes ses bibliothèques) doit être compilé en Release.
- Le paquetage redistribuable correspondant à cette version de Visual (ou une version supérieure) doit être installé sur le poste cible.
-
Et je trouve où la version Release?
Et si je ne veux pas envoyer les libs avec?
-
À moins d'utiliser une lib spéciale, tout est déjà installé sur le poste cible sauf le paquetage redistribuable. Il te suffit donc de compiler ton programme en mode Release avec Visual Studio.
Pour le paquetage redistribuable, si tu ne veux pas l'installer, tu dois fournir les assemblys avec le programme. Si tu ne veux faire ni l'un ni l'autre, alors ton programme ne marchera jamais sur le poste fixe.
-
Comment compiler en mode Release?
Qu'est-ce les assemblys?
-
En ce qui concerne la bibliothèque Runtime C, l'assembly est un ensemble de quatre fichiers: MSVCRxx.DLL, MSVCPxx.DLL, MSVCMxx.DLL et Microsoft.VCxx.CRT.manifest, où xx représente la version.
C'est la présence du fichier .manifest et son contenu qui fait du lot un Assembly: Ces quatre fichiers doivent être considérés comme un tout, et ne marcheront pas correctement s'ils ne sont pas ensemble dans le même dossier.
Pour distribuer ton programme compilé en mode Release, tu peux y joindre les quatre fichiers dans le même dossier, et ça devrait marcher.
Pour compiler en mode Release, c'est dans la doc de Visual. Normalement, tu dois avoir une combobox dans la barre d'outils Build, qui te donne le choix entre Debug et Release.
-
Pour compiler en mode Release, j'ai trouvé:
Onglet générer>>Gestionnaire de configuration>>la première liste de choix>>Sélectionner Release au lieu de Debug.