Quand #si WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) dans dxvahd.h Microsoft fichier d'en-tête de devenir un véritable
Salut, je vais avoir 2 VC++ solutions "A" & "B" (VS2008) et l'autre ont la même base de code (avec juste quelques lignes de code différent). À l'aide de DXVAHD.h dans les deux.
dxvahd.h est un standard de Microsoft fichier d'en-tête. Si l'on ouvre ce fichier d'en-tête, nous le voyons, il est une condition si
"#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
"
Je vois que dans VC++ solution "A", le conditionnel #si la déclaration
est fausse, donc l'ensemble de la dxvahd en-tête de fichier est grisé & n'est pas
même compilé!!
Alors que dans une autre solution, "B", cette condition #si est vrai,donc pas de questions & son travail très bien.
Quelqu'un peut-il bien vouloir me faire savoir comment puis-je résoudre ce problème dans la solution "A", dans lequel le numéro ci-dessus s'est prise en grisé /pas de compilation. Svp aidez-moi.
Merci d'avance.
OriginalL'auteur codeLover | 2013-03-08
Vous devez vous connecter pour publier un commentaire.
Regardant winapifamily.h, vous pouvez voir que ces macros sont utilisées pour déterminer la plate-forme que vous avez et ce que les API sont adapté pour votre plate-forme.
De sorte que votre
WINAPI_PARTITION_DESKTOP
serait que si vous êtes en cours d'exécution sur un ordinateur de Bureau à la famille de le le système.Autant que je sache, c'est pour les applications Metro vs les applications de Bureau, la dernière fois que j'ai vérifié, le Métro n'était pas pris en charge dans VS2008. Suis-je tort?
L'exécution des deux solutions sur le bureau Win7 & ils sont à la fois des applications de bureau.
si l'API ne sont pas pris en charge ou une partie de VS2008, alors il ne fonctionnera pas. Si il n'y a pas d'en-tête de n'importe où dans la bibliothèque qui définit aucune de ces choses, alors il apparaîtra comme non défini. Pour la Métro en charge, vous devez être dans VS2010 minime, je le soupçonne. Il peut même exiger 2012
Merci beaucoup pour cette info utile. 🙂
OriginalL'auteur Tony The Lion
WINAPI_FAMILY est également définie selon l'objectif de la version Windows.
Voir cette discussion et le lien blog de la série.
En particulier, si vous n'êtes pas à l'écriture d'une "App" (>= Win 8). alors:
Vous pouvez utiliser WINVER ou _WIN32_WINNT.
OriginalL'auteur Nick Westgate