2015-07-17 1 views
-4

J'utilise Visual Studio 6, pour des raisons de compatibilité descendante et je dois utiliser GetAncestor() comme celui-ci pour créer une dll:GetAncestor: identificateur undeclared

HWND ancestorhandle = GetAncestor(myvar, 2); 

J'ai inclus ces fichiers d'en-tête:

#include <windows.h> 
#include "stdafx.h" 
#include "offlinelib.h" 
#include <stdio.h> 

Selon la documentation:

GetAncestor function

Mais lors de la compilation, je reçois une erreur:

GetAncestor: Undeclared identifier 

Qu'est-ce que je fais mal?

+0

Si vous utilisez les en-têtes précompilés 'stdafx.h' ** ** doit être le premier' # include'. –

+0

N'a pas aidé ... s'il vous plaît voir la réponse à M.C64 – user994572

+0

Vous ne pouvez pas faire un MCVE? Ne nous fais pas deviner. –

Répondre

0

Essayez de déplacer la #include "stdafx.h" (en-tête précompilé) vers le haut, ce qui en fait la première comprennent la ligne.

+0

Je reçois toujours la même erreur après votre changement suggéré: Voir ici pour le code complet http://pastebin.com/UA931nJu – user994572

0

résolu en ajoutant

#ifdef WINVER 
#undef WINVER 
#endif 
#define WINVER 0x500 

au-dessus de stdafx.h

+0

Il serait préférable de définir la valeur 'WINVER' dans les paramètres de votre projet plutôt que dans votre code. Mais dans tous les cas, 'WINVER' devrait déjà être réglé sur' 0x500' (win2K) par défaut, donc quelque chose d'autre dans votre projet le met à une valeur inférieure ou '# undef'ing, donc vous devriez trouver quelque chose et supprimer à la place. –

+0

Vous devriez supprimer la question. C'est inutile. Cette réponse montre pourquoi. Cela ne concerne que le code que vous seul pouvez voir. –