Choisir la version de certaine dll

Résolu
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011 - 24 juin 2008 à 12:47
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011 - 25 juin 2008 à 14:52
avant tout je sais qu'il existe le même probleme sous DirectX9, je m'explique il y a plusieur version mais une est plus "standardisé" pour les compil donc la solution  a ce probleme est je pense la même.

J'utilise DirectX10 sous Visual Studio 2008 avec le SDK de Mars 2008.

Voici mon mon problème :
lorsque je developpe des application en C++ win32 avec directX cela marche parfaitement sur mon pc, j'ai tenté sur une application bateau (une simple scene 3D avec un cube qui tourne) de la faire tourner sur un autre PC sous vista ou il n'y a pas le SDK d'installer ni visual studio (une installation basique avec les mise à jour du SP1)
j'ai une erreur comme quoi l'application n'arrive pas à trouver : d3dx10_37.dll
en cherchant bien (sur mon pc) cette dll ce trouve dans "C:\Windows\System32" et j'ai pu remarquer la présence d'autre version de la dll :
d3dx10_33.dll jusqu'a d3dx10_37.dll
sur la machine cible il semblerait (ainsi que chez la pluspart des gens a qui j'ai demander) la version d3dx10_35.dll sois presente de facon quasiment systematique

j'ai alors été dans les propriété du projet C++ :
arborescence : Editeur de lien > Entrée > Dépendances supplumentaire
la valeur : "d3d10.lib d3dx10.lib"
donc la il n'y a pas de version speciafiable (ce sont les lib du SDK)

j'ai chercher dans les propriété de SlimDx (wrapper de Dx pour .net) qui ne marche pas non plus sur la machine cible dans les propriété et je suis tomber sur le champs :
"Chargement des DLL différé"
ou apparement ils semblent indiqué directement des nom de dll comme : "d3dx10_37.dll" alors je me suis dit que ca solverait mon probleme en lisant la doc qui n'a pas été je l'avoue tres clair a mes yeux

je retourne dans mon projet en Win32 je fait pareil je compil je lui envois même erreur, en regardant bien au build j'ai un Warning :
warning LNK4199: /DELAYLOAD:d3dx10_35.dll ignoré ; aucune importation trouvée à partir de d3dx10_35.dll

est ce que c'est la bonne methode a utiliser pour contraindre cette version ? si oui pourquoi ca ne marche pas ?
si ce n'est pas la bonne methode comment faut il s'y prendre ?

TeBeCo

1 réponse

TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011
25 juin 2008 à 14:52
bon problème resolus ailleurs, il faut installer des version anterieurs du SDK si ont veux que les dependance ai des version anterieur.

et si malgres tout on veux gardez la version il faut contraindre l'installation du "DirectX end user runtime" (par exemple le webinstaller disponible sur le site de microsoft downloads)

(le post peut etre supprimé si un modo passe par la)

TeBeCo
3
Rejoignez-nous