Compilation de l'application DX 9.0c contre March09SDK = > Impossible de fonctionner avec les anciennes DLL DX 9.0c = > Problème :)

StackOverflow https://stackoverflow.com/questions/1018872

  •  06-07-2019
  •  | 
  •  

Question

Je ne peux pas faire de scénario avec le sujet.

J’ai installé DirectX le 9 mars 2009 dans le SDK, c’est-à-dire 9, "sous" -version c, mais "sous-sous" -version est à 41, donc les bibliothèques (d3dx9.lib d3d9.lib) lient les exportations à dxd3d_41.dll.

Que se passe-t-il lorsque j'essaie d'exécuter mon application sur une machine sur laquelle DX9.0c n'est pas redistribuable à partir de mars 2009 est maintenant une évidence :), elle échoue car elle ne trouve pas dxd3d_41.dll.

Quelle est la solution standard pour ce problème? Comment suis-je censé compiler mon application pour qu'elle soit prise en charge par toutes les machines disposant de DX 9.0c? Est-ce même réalisable?

Merci

Était-ce utile?

La solution

Vous devez installer le runtime correspondant au SDK que vous utilisez pour compiler.

Le seul moyen de forcer ce système à fonctionner sur TOUTES les machines sur lesquelles DirectX9c est installé consiste à utiliser un ancien SDK (le premier SDK 9.0c). Cependant, je recommande fortement d'éviter cela. Vous feriez bien mieux de simplement utiliser March 09 et d’installer les exécutions de March avec l’installation de votre application.

Autres conseils

La solution la plus simple consiste à créer un lien vers le programme de mise à jour de l'exécution de l'utilisateur final Microsoft DirectX sur votre page de téléchargement et à demander aux utilisateurs de l'exécuter en premier pour s'assurer que les composants de l'exécution sont à jour avant d'installer votre application.

Ensuite, la solution la plus simple consiste à regrouper le programme de mise à jour d'exécution nécessaire avec votre application et à le faire exécuter par les utilisateurs avant d'exécuter votre programme d'installation.

Tout cela est documenté dans la documentation du SDK.

Les règles sont les suivantes: si vous vous connectez à d3dx9, vous devez vous assurer que les composants d'exécution redist requis sont installés.

Consultez la page "Installation de DirectX pour les développeurs de jeux" dans la documentation DXSDK.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top