Quelle est la différence entre les x64 et les fichiers de bibliothèque x86 dans DirectX?

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

  •  19-09-2019
  •  | 
  •  

Question

Je suis récemment Visual Studio sur un nouvel ordinateur, et de mettre en place DirectX, je suis allé à Outils> Options> Projets et Solutions> Répertoires VC ++ et sous fichiers de bibliothèque fait une nouvelle C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86 d'entrée

et maintenant dirigé un programme de test (DirectX essentiellement juste initialisé) et il a bien fonctionné. Cependant, si je change ...\Lib\x86 à ...\Lib\x64, que je reçois une erreur de liaison qui Direct3DCreate9 est pas défini:

1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
Était-ce utile?

La solution

Les bibliothèques x86 sont pour des applications 32 bits et les bibliothèques x64 sont pour des applications 64 bits.

Vous pouvez voir quelle plate-forme vous ciblez dans le Gestionnaire de configuration de Visual Studio. Sauf si vous avez une bonne raison, vous devriez écrire des applications 32 bits, car les applications 64 bits, il faudra la version 64 bits de Windows pour exécuter.

Autres conseils

Le dossier x64 contient les fichiers de bibliothèque pour la plate-forme AMD64 (Windows 64 bits). Vous devez compiler votre application 64 bits, aussi. , Vous devez également la version 64 bits de Windows pour exécuter le fichier exécutable produit.

Eh bien la réponse simple est que les bibliothèques x86 sont 32 bits des systèmes d'exploitation et les bibliothèques x64 sont 64 bits des systèmes d'exploitation.

Il suffit de changer la bibliothèque DirectX liée à produira une erreur que vous êtes (selon toute probabilité) en essayant de lier votre code 32 bits à la bibliothèque 64 bits. Vous devrez compiler votre code pour cibler 64 bits des systèmes d'exploitation pour obtenir ce succès pour relier.

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