我们正在开发一个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')。
我们是否应该为每个不同的操作系统目标创建一个不同的项目?
答案 0 :(得分:0)
WDK / DDK版本不会限制您构建的操作系统版本。您可以将目标OS作为构建环境/编译参数传递。
答案 1 :(得分:0)
我认为您应该通过 DDK 构建DLL并在VS项目中使用它。
您可以为VS项目编写预构建事件,以运行批处理文件,该文件将构建DLL并将其放在项目的一些众所周知的位置。
此外,您可能必须为要构建的每个平台创建不同的项目配置(至少对于32位和64位不同)并为DLL运行适当的构建命令。