2012-01-30 7 views
1

Je développe un UMDF-driver. Le pilote a besoin d'une bibliothèque différente (build of a) pour les versions 32 bits et 64 bits. La propriété TARGETLIBS dans mon dossier sources ressembleDifférents chemins de bibliothèque pour différents environnements de construction

TARGETLIBS=\ 
     $(SDK_LIB_PATH)\strsafe.lib  \ 
     $(SDK_LIB_PATH)\kernel32.lib \ 
     $(SDK_LIB_PATH)\ole32.lib  \ 
     $(SDK_LIB_PATH)\oleaut32.lib \ 
     $(SDK_LIB_PATH)\uuid.lib  \ 
... 
     ..\otherlib\amd64\foo.lib \ 

mais pour un x86 construire le chemin de foo.lib doit être ..\otherlib\i386\foo.lib.
Il existe évidemment un mécanisme pour cela dans le système de construction ddk, puisque $ (SDK_LIB_PATH) pointe également vers des emplacements différents en fonction de l'architecture de construction. Mais je suis incapable de trouver de la documentation sur ce sujet.
Comment définir différents chemins de bibliothèque dans un fichier source pour différents types de construction?

Répondre

0

http://technet.microsoft.com/en-us/query/ff552910

En raison de cette convention, les entrées TARGETLIBS doivent spécifier les noms de bibliothèque sous la forme suivante:
<TargetPath> \ * \ < nom_bibliothèque >
où TargetPath est identique à la valeur attribuée à TargetPath dans le fichier Sources et library_name est le nom de fichier complet de la bibliothèque à lier au fichier exécutable. L'utilitaire de construction remplace l'astérisque (*) par le type de plateforme cible.

C'est vraiment OK pour mon problème actuel. Mais si quelqu'un peut offrir une solution plus générale, je suis tout ouïe ...

Questions connexes