Ca tourne que sur ma machine !

chibix Messages postés 3 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 18 mars 2007 - 18 mars 2007 à 11:47
chibix Messages postés 3 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 18 mars 2007 - 18 mars 2007 à 12:43
Bonjour,

Je viens d'installer VC C++ express 2005 avec son SP1 et j'ai aussi installé le microsoft SDK.
J'ai compilé un programme tout bête avec un printf () et ça tourne niquel. Seulement, si je l'essaye sur
un autre pc, eplorer me dit que le programme a une mauvaise configuration, le réinstallé pourrait corriger le
problème ! Et en mode commande, il me dit simplement qu'il ne peut éxécuter le programme...

Pourriez-vous m'éclaircir sur le pourquoi du comment et m'aider çà trouver une solution !

Merci.

4 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
18 mars 2007 à 12:04
Salut,
VC Express utilise msvcr80.dll pour supporter les fonctions de la CRT. Cette dll n'est pas présente par défaut dans Windows. Pour l'inclure statiquement dans ton EXE, regarde ce tutorial:
Win32_VCEpress
0
chibix Messages postés 3 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 18 mars 2007
18 mars 2007 à 12:31
Merci de ta réponse rapide.

En effet en mettant multithread et pas multithread dll ca marche. Seulement, je dois compiler un projet avec l'option multithread dll sinon je ne peux pas linker. Comment puis-je faire alors. Note que j'ai installé les dll sur l'autre pc et qu'elle sont bien trouvées j'ai vérifié avec le ptit programme 'depends'.

Merci.
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
18 mars 2007 à 12:38
Montre-nous le message d'erreur du linker.
0
chibix Messages postés 3 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 18 mars 2007
18 mars 2007 à 12:43
En fait j'essaye de compiler ogre, et ils disent clairement qu'il faille mettre l'option multithread dll.
Remarque que l'option multithread tout court passe en release mais pas en debug. Toutefois, la version release comme ça plante direct sur une autre machine. J'ai vu que quelqu'un parlait de  vcredistx86. Je dois le redistribuer ou quoi ?

Un exemple d'erreur de link ( elles sont toutes pareilles ) :

test.obj : error LNK2005: "public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ) déjà défini(e) dans msvcprtd.lib(MSVCP80D.dll)
0
Rejoignez-nous