Ca tourne que sur ma machine !

Signaler
Messages postés
3
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007
-
Messages postés
3
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007
-
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

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
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
Messages postés
3
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007

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.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Montre-nous le message d'erreur du linker.
Messages postés
3
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007

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)