Bonjour à tous,
Je développe une appli C++ pour linux et Windows avec Qt4. Je compile manuellement mes dll et l'exécutable avec gcc (mingw sous windows).
Après pas mal de recherches, je n'ai toujours pas de réponse claire à une question simple : sous windows où dois-je mettre mes dll nécessaires à l'exécution du programme pour que le programme démarre correctement ? J'ai vu que si je les laisse dans le répertoire qui contient l'exe ou si je les mets dans windows\system32 ça fonctionne mais est-il possible de les mettre ailleurs ?
Pour comparer, sous linux il est possible de les mettre un peu n'importe où à condition de rajouter le chemin dans la variable LD_LIBRARY_PATH ou dans ld.so.conf. N'y a-t-il pas une technique similaire sous windows ?
Autre remarque : j'utilise Qt4, mon programme est donc linké dynamiquement avec des dll de Qt. Ces dll sont dans un répertoire quelconque et le système les trouve pourtant. Comment cela marche-t-il dans ce cas ?
Les raisons pour lesquelles je cherche à comprendre ce mécanisme sont :
1 - pour ranger proprement ces fichues dll
2 - pour comprendre, tout bêtement, afin d'être sûr que mon appli se lancera sur n'importe quel poste.
Merci pour votre aide, je commence à désespérer de n'y rien comprendre. Des liens, des bouquins intéressants ou votre expérience perso me seront très utiles.
Partager