J'ai un grand projet avec plusieurs bibliothèques tierces. Je veux tout construire pour 32 et pour l'architecture 64 bits. Plusieurs bibliothèques créent des bibliothèques partagées (dll). Quel est le meilleur moyen de fournir ces dlls aux exécutables compilés de mon projet? J'ai pensé que je peux mettre toutes ces DLL dans un répertoire qui est ajouté à la variable PATH. Mais la plupart des dll créées à partir des librairies tierces sont nommées de la même manière sous compilation 32 et 64 bits, donc je ne peux pas les mettre dans un répertoire. Puis-je créer deux répertoires, un pour les dll 32 bits et un pour les dll 64 bits et l'exécutable choisit les dlls droite? Ou avez-vous une meilleure idée de laisser mon exécutable charger les bonnes DLL? Merci!Chargement dll exécutable (x32, x64): choisir le bon
1
A
Répondre
0
Le système cible est soit 32 ou 64 bits, jamais les deux. Vous devez installer uniquement les versions requises en fonction du bit-ness du système. Ensuite, vous n'avez plus que deux ensembles de binaires non entrecroisés et vous installez un ensemble nécessaire pour le système cible et vous n'avez jamais de problème à détecter ce qu'il faut charger lors de l'exécution.
1
Puisqu'un exécutable 32 bits ne peut pas sélectionner les DLL 64 bits et vice-versa. Vous avez juste un répertoire avec tout 32 bits (exécutable + DLL) et un autre avec tout 64 bits.
Questions connexes
- 1. Choisir le bon serveur CI pour mes besoins
- 2. Service Crash chargement dll
- 3. Problème avec le chargement dynamique d'une DLL dans mon programme
- 4. .NET Evénements pour le processus Exécutable exécutable
- 5. Comment puis-je savoir quelles DLL un chargement va charger?
- 6. Bon système de chargement de ressources
- 7. Créer un exécutable flash qui appelle des fonctions dll externes
- 8. Découvrez quel fichier exécutable fait référence à une DLL .NET?
- 9. Désactiver le chargement automatique des DLL en C++
- 10. problème de chargement d'une DLL dans le fichier .c
- 11. Crash C# lors du chargement C++ dll
- 12. Chargement d'une DLL sur un serveur jboss
- 13. Comment obtenir le chemin d'accès exécutable à partir d'une DLL gérée
- 14. Nant, Booc et x64
- 15. Le programme d'installation cible-t-il x86 et x64?
- 16. LoadLibrary échoue sous Vista x64
- 17. Est-ce un bon moyen d'utiliser les DLL? (? C++)
- 18. Bon IDE/compilateur pour dll simple C de
- 19. Psyco x64?
- 20. Choisir l'entrée avec le sélecteur JQuery
- 21. System.Security.Permissions.MediaPermission Exception lors du chargement de l'image dans la DLL
- 22. L'accès est refusé chargement d'une DLL avec ctypes sur Vista
- 23. Chargement de la DLL C# par réflexion, mais appli App.config
- 24. Chargement d'un dll C# dans un C# exe
- 25. Quel est le bon dossier .NET pour stocker les références de DLL requises?
- 26. IIS6 sur Windows 2003 Enterprise Edition x32 et la mémoire
- 27. Bon Javascript plugin pour afficher brièvement l'info-bulle sur le chargement de la page
- 28. Trouver le bon VPS
- 29. Quel framework WinForms CompositeUI choisir?
- 30. Adobe PDF x64 ifilter
En fait, avec WOW, un système 64 bits est également un système 32 bits. Mais vous avez alors à la fois un répertoire Program Files 32 bits et 64 bits, donc toujours pas de mixage. – MSalters
Oui, il est vrai que la cible d'un exécutable est soit 32 ou 64 bits. Mais je veux pouvoir cibler les deux architectures sur nos machines de développement (uniquement pour le développement, pas sur les "ordinateurs clients"). –
Je suppose qu'il est préférable de simplement copier les exécutables 64 bits après la compilation dans un dossier et 32 bits dans l'autre. Il est trivial de le configurer dans presque n'importe quel environnement de développement et il résout complètement le problème. – sharptooth