Msvcr71.dll

cs_noobs Messages postés 7 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 19 juin 2006 - 19 juin 2006 à 15:01
cs_noobs Messages postés 7 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 19 juin 2006 - 19 juin 2006 à 19:10
Bonjour,
j'ai une autre question svp.

Je viens de réinstaller windows chez mes parents et quand j'ai essayé de lancer un programme que j'ai fais pour le tester, windows m'a indiqué une erreur de chargement de la dll msvcr71.dll.
J'ai regardé quel était le fichier qui y faisait appel et il s'est avéré qu'il s'agit de la dll de mon programme.

Alors ici je comprend qu'il s'agit de la bibliotèque standard du C, je suppose alors que 'msv' signifie 'microsoft visual' et 'crt' veut dire 'c runtime library' comme expliqué dans le lien précédent, et enfin '71' car il s'agit de la version livrée avec Vs 7.1 .

J'ai donc quatre questions :
- cette dépendance est'elle caractéristique fichiers compilés par Vs (à prioris oui mais comme c'est microsoft ca peut aussi que ce soit un lib de l'Os) ?
- pourquoi ma dll est'elle dépendante de cette library alors que je ne code qu'en api32 et la seule autre librairie incluse que windows.h est stdlib.h (le projet est bien configuré pour ne pas utiliser les mfc) ?
 - pourquoi lorsque je recompile ma dll en mode mono-threadé cette dépendance disparait mais la release fait 28ko au lieu de 9 ?
 - j'ai trouvé cette solution mais existe'il une solution par le code ?

Merci d'avance à tous ceux qui se pencheront sur ma question.

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juin 2006 à 15:13
C'est juste une question de réglage des options de ton projet, si ton exe ne se sert que des APIs il ne douit être lié qu'aux DLLs appelées du système.
Au besoin regarde mes sources pour t'en convaincre, tu ne verras jamais un exe lié à une dll runtime.

ciao...
BruNews, MVP VC++
0
cs_noobs Messages postés 7 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 19 juin 2006
19 juin 2006 à 19:10
Merci Brunews,
là je ne suis pas sur ma machine donc je ne peux pas tester mais je le ferai très probablement ce soir.

Néanmoins je reste très dubitatif car s'il ne s'agit que d'un option de compilation, comment s'expliquerait le fait que cette dépendance disparaisse simplement en changeant 'Multithreaded Dll' en 'Monothreaded dll'.

Bizarre, je vais faire des tests et comparer avec tes projets.
Je te dirai ce qu'il en sera résulté.

Merci.
0
Rejoignez-nous