Различные пути к библиотекам для разных сред сборки - PullRequest
1 голос
/ 30 января 2012

Я разрабатываю UMDF-драйвер . Драйверу нужна другая (сборка) библиотека для 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 для разных типов сборки?

1 Ответ

0 голосов
/ 30 января 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...