Deploiement XP - msvcrt.dll

Résolu
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020 - 18 déc. 2007 à 12:40
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020 - 19 déc. 2007 à 10:59
Bonjour,

Tout d'abord, je m'excuse si je ne me situe pas dans la bonne partie du forum...

Donc je développe sur Vista Pro via VS2005 et j'ai un soucis lorsque j'exporte mon appli sur windows XP. J'ai lu plusieurs post parlant du runtime, mais étant complètement débutant, je ne comprend pas tout...

Lorsque je lance l'application sur le pc sur XP, j'ai une erreur de type : "Le point d'entrée de procédure <nom procédure> est introuvable dans la bibliothèque de liaison dynamique msvcrt.dll".
Cela est assez clair, l'application cherche a accéder a une procédure qui n'existe pas dans le fichier msvcdt d'XP.

J'aimerais donc savoir comment faire pour importer ma propre dll et pour que l'application l'utilise.

J'ai eu beau donner le chemin du WDK pour qu'il puisse piocher dedans, passer en multithreading (/MT), prendre en charge ou non le Common language Runtime (/clr) et d'autre manip que j'ai pu trouver sur ce forum ainsi que sur le net, mon erreur reste la même...

Merci d'avance si quelqu'un pouvait me donner une solution (dans le meilleur des cas ) ou bien m'aiguiller vers des tutos / explication précise de l'erreur, etc..

Bonne Prog

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 déc. 2007 à 12:53
On ne devrait jamais linker avec msvcrt.dll directement.
Essaie avec:
TEMPLATES C/C++ POUR VS 2005
http://www.cppfrance.com/code.aspx?ID=36940

ciao...
BruNews, MVP VC++
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
18 déc. 2007 à 13:03
Salut,


C'est marrant qu'il te parle de msvcrt.dll. VC2005 est sensé utiliser d'autres dlls, voire aucune si on lie statiquement... Après, peut être que ces dlls appelent msvcrt en interne, je sais pas.


Essais peut être d'y voir plus claire avec Dependancy Walkers.

<hr size="2" width="100%" />3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
3
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
19 déc. 2007 à 10:59
Bonjour,

J'ai résolu le problème en excluant spécifiquement la bibliothèque msvcrt.lib

Merci encore a vous !

Bonne Prog
3
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
18 déc. 2007 à 13:46
Merci pour vos réponse, je regarde ca et je vous donne des nouvelles des que j'aurais avancer

Bonne Prog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
18 déc. 2007 à 13:53
>>> C'est marrant qu'il te parle de msvcrt.dll. VC2005 est sensé utiliser d'autres dlls, voire aucune si on lie statiquement... Après, peut être que ces dlls appelent msvcrt en interne, je sais pas.

Voici mes includes :
#include <stdio.h>
#include <stdlib.h>
#include <objbase.h>
#include <setupapi.h>
#include
#include <windows.h>
#include <regstr.h>
#include <strsafe.h>
#include <winusb.h>

#pragma comment (lib, "winusb.lib")
#pragma comment (lib, "setupAPI.lib")
 
Peut-etre une celle ci, je ne les ai pas toutes parcourus...

Bonne Prog
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 déc. 2007 à 14:01
#include <windows.h>
est l'unique à laisser.

#include <stdio.h>
si besoin de sprintf pour les floats sinon à virer.

Quand besoin d'un spécifique, c'est indiqué en bas de page MSDN d'une API.

ciao...
BruNews, MVP VC++
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
18 déc. 2007 à 16:23
Bon d'après Dependancy Walkers, l'appel de msvcrt.dll se fait à partir de la librairie setupapi.
J'ai minimisé mes includes, il ne me reste plus que :

#include <windows.h>
#include <setupapi.h>
#include <strsafe.h> // pour le StringCchCopy
#include <winusb.h>  // pour l'utilisation des fonctions relatives à l'usb

#pragma comment (lib, "winusb.lib")
#pragma comment (lib, "setupapi.lib")

Bien entendu je ne peux pas enlever le setupapi sans avoir plus d'une centaine d'erreur de compilation... Par contre, je possede plusieurs setupapi.lib au niveau de VS et du WDK, comment le compilateur choisit-il? Serait-ce une erreur de version de la librarie?

@BruNews :  j'ai utilisé et générer un projet grâce a ton application, mais cela n'a rien donné de mieux...

Je continue a me prendre la tête dessus, si vous voulez de plus amples informations afin de m'aider, n'hésitez pas
Encore merci  !

Bonne Prog
0
Rejoignez-nous