Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

accéder à une DLL

16 réponses
Avatar
PurL
Bonjour,

J'ai une DLL dans un répertoire perso.
Quand je fais une appli dans laquelle je linke le .lib correspondant, c'est
OK.
Mais à l'éxcution, windows m'affiche un message comme quoi il trouve ma DLL,
ce qui est normal puisqu'elle ne fiigure pas dans les répertoires de
recherche de windows.

Ma question est : comment rajouté mon répertoire perso aux répertoires de
recherche de windows afin qu'il trouve ma DLL ?
En effet j'aimerais éviter d'avoir à copier ma DLL dans le répertoire
SYSTEM32 de windows.

Merci,

PurL

10 réponses

1 2
Avatar
PurL
> Mais à l'éxcution, windows m'affiche un message comme quoi il trouve
ma DLL, ce qui est normal puisqu'elle ne fiigure pas dans les
répertoires de recherche de windows.



Corrigé : il NE trouve PAS ma DLL

PurL
Avatar
Aurélien REGAT-BARREL
Mettre la dll dans le répertoire de ton appli (déploiement)
ou rajouter la dll au path (développement).

--
Aurélien REGAT-BARREL
Avatar
giova
Aurélien REGAT-BARREL wrote:
Mettre la dll dans le répertoire de ton appli (déploiement)
ou rajouter la dll au path (développement).



je crois qu'il faut aller dans les proprietes du poste de travail,
variables d'environnement, et tu ajoute a la variable path ton
répertoire, mais comme dit Aurélien, le mieux est de la mettre dans le
répertoire de ton appli.
Avatar
Patrick Philippot
Aurélien REGAT-BARREL wrote:
Mettre la dll dans le répertoire de ton appli (déploiement)
ou rajouter la dll au path (développement).



Ou utiliser un fichier de configuration créé à l'installation afin de
préciser le chemin d'accès et préfixer le nom de la DLL avec le path au
moment du chargement.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.xx
(remplacez .xx par .fr si vous répondez par e-mail)
Avatar
PurL
> mais comme dit Aurélien, le mieux est de la mettre dans le
répertoire de ton appli.



Merci pour vos réponses.
J'ai dis une DLL, mais j'en ai plusieurs et à chaque DLL correspond un
fichier .h un .lib et un fichier d'aide, et je ne souhaite pas tous mettre
dans le meme répertoire que le programme.

PurL
Avatar
PurL
> Ou utiliser un fichier de configuration créé à l'installation afin de
préciser le chemin d'accès et préfixer le nom de la DLL avec le path
au moment du chargement.



Peux-tu développer stp ?
Avatar
Aurélien REGAT-BARREL
> Ou utiliser un fichier de configuration créé à l'installation afin de
préciser le chemin d'accès et préfixer le nom de la DLL avec le path au
moment du chargement.



C'est valable que pour le linkage dynamique non ?
Ou est-ce possible avec le delayed-load, technique dont je n'arrive pas à
avoir d'infos ?

--
Aurélien REGAT-BARREL
Avatar
Cyrille Szymanski
On 2004-04-29, PurL wrote:
J'ai dis une DLL, mais j'en ai plusieurs et à chaque DLL correspond un
fichier .h un .lib et un fichier d'aide, et je ne souhaite pas tous mettre
dans le meme répertoire que le programme.



Pour ce qui est de la distribution de l'application la DLL suffit.

Pour le développement tu devrais mettre les chemins vers le
répertoires contenant les .h et .lib dans les chemins d'"include" et
de "library" du compilateur.

Apparemment ta DLL est partagée par plusieurs applications. Il est
peut-être envisageable d'en faire une DLL partagée ?

--
cns
Avatar
Patrick Philippot
Aurélien REGAT-BARREL wrote:
C'est valable que pour le linkage dynamique non ?



Oui. De toutes façons, c'est toujours dynamique. Dans le cas de
LoadLibrary, c'est un chargement explicite. Mais est-ce un problème? Au
moins, vous aurez le contrôle du répertoire de chargement.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.xx
(remplacez .xx par .fr si vous répondez par e-mail)
Avatar
PurL
> Pour ce qui est de la distribution de l'application la DLL suffit.



non parceque l'utilisateur a la possibilité d'écrire du code C++ en
utilisant les fonctions incluses dans la DLL :
Je distribue donc le compilateur, le linker, le .h pour le compilateur, le
.lib pour le linker et le .dll lorsque la dll de l'utilisateur sera chargée.


Pour le développement tu devrais mettre les chemins vers le
répertoires contenant les .h et .lib dans les chemins d'"include" et
de "library" du compilateur.



le .h et le .lib ne me servent pas pour mon développement mais pour celui de
l'utilisateur

PurL
1 2