Actuellement mon studio visuel génère essentiellement Engine.dll et Game.exe.lib reliant d'autres .libs
liens Engine.dll à d'autres bibliothèques de base comme: d3dx9d.lib ComCtl32.lib Winmm.lib WSock32.lib etc.
Je voulais aussi essayer de créer un fichier Engine.lib, mais je reçois maintenant de très jolis avertissements: Symbol x a déjà été défini. Ces bibliothèques définissent les mêmes symboles.
Donc, j'ai lu quelque part que je dois forcer mon utilisateur (Game.exe) à lier les libs à la place. Mais c'est vraiment très gênant je pense, surtout si j'ai beaucoup de jeux et que je décide d'ajouter une autre librairie à mon moteur. C'est juste de la maintenance pour quelque chose d'aussi simple.
Dois-je m'en tenir au .dll, ou y a-t-il un moyen de réparer cette beauté?
Merci beaucoup,
Antoon
Vous voulez dire que je devrais complètement emballer les libs et les rendre inutiles pour les utilisateurs? – Xilliah
Je dis simplement que si votre application fait appel à une interface plutôt que quelque chose de concret, l'implémentation sous-jacente n'est pas pertinente. Vous pouvez envelopper d3dx9d, winmm, etc dans la DLL moteur actuelle, mais vous pouvez utiliser opengl dans MyEngine DLL.L'application (ce qui est essentiellement "l'utilisateur") ne devrait pas s'en préoccuper. – Dave