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文件中为不同的构建类型设置不同的库路径?

4

1 回答 1

0

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

由于这种约定,TARGETLIBS 条目应以下列形式指定库名称:
<目标路径>\*\<库名>
其中 targetpath 与 Sources 文件中分配给 TARGETPATH 的值相同,library_name 是要链接到可执行文件的库的完整文件名。Build 实用程序将星号 (*) 替换为目标平台类型

对于我目前的问题,这绝对没问题。但是,如果有人可以提供更通用的解决方案,我会全力以赴......

于 2012-01-30T16:43:08.863 回答