Различные пути к библиотекам для разных сред сборки

Я разрабатываю драйвер 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 файле для разных типов сборки?


person chendral    schedule 30.01.2012    source источник


Ответы (1)


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

Because of this convention, TARGETLIBS entries should specify library names in the following form:
<targetpath>\*\<library_name>
where targetpath is identical to the value assigned to TARGETPATH in the Sources file, and library_name is the full file name of the library to be linked to the executable file. The Build utility replaces the asterisk ( * ) with the target platform type.

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

person chendral    schedule 30.01.2012