-1

我们正在开发一个 DLL,它从 WinDDK 调用通用 WinUsb 函数。此 DLL 需要在 32 位和 64 位版本的 Windows 中工作,包括 xp、vista、win7,可能还有 win8。

我的问题是,我们如何通过针对所有这些平台来管理 Visual Studio 2010 解决方案?WinDDK 库对于每个操作系统都是不同的,所以如果我从代码中引用一个库:

#### #pragma comment (lib , "C:\\WinDDK\\7600.16385.1\\lib\\wlh\\i386\\winmm.lib" )

或者通过从 中引用库project options->includes section,这个项目只对特定的目标架构变得正确。(在本例中,Vista 32 位,因为我包括了 'wlh')。

我们是否应该为每个不同的操作系统目标创建不同的项目?

4

2 回答 2

0

我认为您应该通过DDK构建 DLL并在您的 VS 项目中使用它。

您可以为您的 VS 项目编写预构建事件来运行一个批处理文件,该批处理文件将构建 DLL 并将其放在项目的某个知名位置。

此外,您可能必须为要构建的每个平台创建不同的项目配置(至少对于 32 位和 64 位不同)并为 DLL 运行适当的构建命令。

于 2012-07-18T04:57:29.297 回答
0

WDK/DDK 版本不限制您构建的操作系统版本。您可以将目标操作系统作为构建环境/编译参数传递。

于 2012-07-16T12:24:38.713 回答