2011-07-12 2 views
0

J'ai un projet sur le web. Les fichiers "solution" et "projects" ont été codés pour VS2010 mais j'ai changé les numéros de version et j'ai pu les charger dans mon VS2005. J'ai essayé de construire la solution et je reçois des erreurs telles que:Où vais-je trouver WOW64 ... définit sur ma configuration (VS 2005 sur Vista 64, C++)

'WOW64_CONTEXT': undeclared identifier 
'wow64Context': undeclared identifier 
'Wow64GetThreadContext': is not a member of 'global namespace' 
etc... 

Je sais que la doc WOW64_CONTEXT doit être déclarée à l'intérieur winnt.h. Sur mon système, ça ne l'est pas. Que se passe-t-il? Je suis nouveau à WoW mais je comprends le concept. Je ne l'ai jamais utilisé.

Voici ma configuration (REMARQUE: je Intel CC 9 installé, mais je ne l'utilise pas pour ce projet, j'utilise le compilateur MS.):

Microsoft Visual Studio 2005 Version 8.0.50727.867 (vsvista.050727-8600) Microsoft .NET Framework version 2.0.50727 SP2

édition installée: professionnel Microsoft Visual C# 2005 77626-009-2220332-41593 Microsoft Visual C++ 2005 77626-009-2220332-41593 Microsoft Visual Studio 2005 Outils pour les applications Web Microsoft 77626-009-2220332-41593 projets d'application 2005 77626-009-2220332-41593 Version 8.0.50727.867 correctif pour Microsoft Visual Studio 2005 Professional Edition - ENU (KB932372)

Intel (R) Intégration du compilateur C++ pour Microsoft Visual Studio 2005, version 9.1.632.2005, Copyright (C) 2002-2007 Intel Corporation.

Microsoft Visual Studio 2005 Professional Edition - ENU Service Pack 1 (KB926601)
jour de sécurité pour Microsoft Visual Studio 2005 Professional Edition - enu (KB2251481)
jour de sécurité pour Microsoft Visual Studio 2005 Professional Edition - enu (KB2465367)
jour de sécurité pour Microsoft Visual studio 2005 Professional Edition - enu (KB2538218)
jour de sécurité pour Microsoft Visual studio 2005 Professional Edition - ENU (KB971023)
jour de sécurité pour Microsoft Visual studio 2005 Professional Edition - ENU (KB971090)
jour de sécurité pour Microsoft Visual Studio 2005 Professional Edition - ENU (KB973673)
Mise à jour pour Microsoft Visual Studio 2005 Professional Edition - ENU (KB932232)

quelqu'un peut me aider?

+0

La version du SDK Windows inclus avec VS2005 est très obsolète. Je ne sais pas si le dernier SDK (7.1) supporte encore VS2005, mais vaut la peine d'être photographié. –

Répondre

0

Dans the docs, reportez-vous à la section «Client minimal pris en charge: Vista».

Vous aurez besoin d'une version récente du SDK Windows qui couvre Vista, et aussi besoin de définir les macros WINVER et _WIN32_WINNT à 0x600 ou plus pour activer les fonctions Vista. La documentation est here et Raymond Chen donne un peu d'histoire on his blog.

+0

Même bug, Ben. Le problème est que WOW64_CONTEXT (et d'autres fonctions Wow) sont déclarées/définies nulle part sur mon disque. Pourquoi? Où/devrais-je les trouver? BTW, les valeurs dans le code actuel sont WINVER = _WIN32_WINNT = 0x0501, _WIN32IE = 0x0400 et _RICHEDIT_VER = 0x0100. ... Pas d'effet "Wow" sur moi jusqu'à présent! ;-) –

+2

Puisque vous essayez d'utiliser des types et des fonctions qui n'existaient même pas en 2005, je suppose que vous avez téléchargé un nouveau SDK Platform qui couvre Vista (et probablement Windows 7), comme [la dernière version ] (http://www.microsoft.com/download/en/details.aspx?id=8279)? (Les futurs utilisateurs, vérifiez aussi [wikipedia] (http://en.wikipedia.org/wiki/Microsoft_Windows_SDK) pour les liens mis à jour) –

+0

Ne supposez pas que! Probablement vous m'avez donné la réponse! Avant d'obtenir la dernière version et d'obliger tous mes collègues à faire de même, je vais essayer de "commenter" le code qui utilise ces fonctions/définitions. Je peux, par la suite, supposer que je ne vais pas courir sur Wow64 pour mon application. –

1

Peut-être que quelqu'un d'autre va poser à nouveau cette question, même si elle était déjà là même 4 ans.

  1. Ouvrez votre disque C. et serch pour WinNT.H.
  2. Ouvrir WinNT.H et serch pour CONTEXT_AMD64
  3. DECLSPEC_ALIGN (16) _CONTEXT répondra à vos besoins. En bref: Ouvrez WinNT.H et passez à la ligne: 3647. Ok, compris.
+0

Merci! Pourrait être utile quelque part! ;-) –

Questions connexes