2012-01-30 5 views
1

Я разрабатываю UMDF-driver. Драйверу нужна другая (сборка) библиотеки для 32-битной и 64-битной сборки. TARGETLIBS свойство в моем sources файл выглядитРазличные пути библиотеки для разных сред построения

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 \ 

но для x86 построить путь для foo.lib должен быть ..\otherlib\i386\foo.lib.
Очевидно, что в системе построения ddk существует некоторый механизм, так как $ (SDK_LIB_PATH) также указывает на разные местоположения в зависимости от архитектуры сборки. Но я не могу найти документацию по этому вопросу.
Как установить разные пути библиотеки в одном файле source для разных типов сборки?

ответ

0

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

Из-за этой конвенции, TARGETLIBS записи должны указать библиотечные имена в следующем виде:
<TargetPath> \ * \ <LIBRARY_NAME>
где TargetPath идентично значению, присвоенному TargetPath в файл Sources и имя_файла - полное имя файла библиотеки, которая должна быть связана с исполняемым файлом. Утилита Build заменяет звездочку (*) целевой платформой.

Это определенно нормально для моей текущей проблемы. Но если кто-то может предложить более общее решение, я все уши ...

 Смежные вопросы

  • Нет связанных вопросов^_^