Portabilité de VC++ et ses dll....

Portabilité de VC++ et ses dll.... - Programmation

Marsh Posté le 03-03-2001 à 22:07:21    

g fait un MFC en VC++, et il ne tourne po sur les autres machines car il manque 3 dll, toute personne qui prog avec VC++ a dû rencontrer ce pb...
Comment y remédier?
En copiant les dll par une autre application?
aidez moi.....je débute c pas facile.
MERCI :love:


---------------
VestaX PDX-2000 + EcleR SMAC PRO30 : ya ke ca de vrai ...
Reply

Marsh Posté le 03-03-2001 à 22:07:21   

Reply

Marsh Posté le 05-03-2001 à 20:06:59    

C'est "normal" car tu dois avoir des versions plus recentes des dll sur ta machine que sur celles des autres. C'est surtout des dlls de mfc. Il faut d'abord savoir quelles dlls utilise ton programme. Pour cela tu lances en mode debug ton programme ( F5) et tu regardes quelles dlls mfc sont chargées.
En général tu n'utilise que mfc42.dll ( visual c++ 6.0 ) mais il se peut que ce soit d'autres dlld , il faut donc vérifier.
 
Si tu veux que le programme tourne sur les autres machines, il te suffit de copier la dll mfc42.dll dans le répertoire windows\system  ( ou winnt\system32 pour winnt ) en verifiant bien que la version que tu effaces n'est pas plus récente ( bouton droit - propriété - version ).
Cette solution n'est pas très "propre" , il vaut mieux utliser un programme d'installation ( Installshield fourni avec visual C++ 6.0 mais en anglais ou wise qui est mieux et payant avec une version d'évaluation sur www.telecharger.com).
 
Attention : bien compiler en release et non en debug car les versions debug des dlls (mfc42d.dll) ne doivent pas etre sur une autre machine que la machine de developpement.
 
 
Il se peut aussi que ce soit une autre dll que mfc ( par exmple dao350.dll ou msvcrt.dll ) dans ce cas le mieux c'est de faire une mise à jour  de windows ( avec un service pack disponible sur internet) . de toutes facons tu ne pourrais pas remplacer msvcrt.dll car elle est chargée des le demarrage de windows ( bibliotheque run-time = acces E/S et memoire )
 
J'espère que ces explications t'aideront un peu.  
 
Au fait , si tu peux intaller IE 5 sur les machines où ca marche pas, ce serait bien car ca met à jour beaucoup de dll ( mais pas mfc je crois)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed