Visual Studio:如何设置dll解决方案,可参考winusb

问题描述

我已经尝试了几天来制作一个可以编译和链接 dll 的解决方案,该 dll 能够从 winusb 调用函数。我从 Microsoft 的示例开始,这对于制作 winusb 应用程序来说非常简单。 https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/how-to-write-a-windows-desktop-app-that-communicates-with-a-usb-device 现在我有一些源代码,它可以与我的设备一起使用,我想通过一个 dll 使其可访问。 我试过了: - 创建一个新的 dll 项目,使用匹配的 #include 指令添加我的文件,但它不会编译。 -2 方法是在win usb app 解决方案中添加一个dll 项目,并尝试从dll 项目中调用winusb app 项目的功能。那行不通。我试图将 dll 项目的引用设置为 winusb 应用程序项目,但这没有帮助。那么,在我的 dll 项目中使用这些函数的正确方法是什么?

最好的问候!

解决方法

这是我为使其工作所做的:
配置属性>VC++目录:
- 添加 $(WDKBinRoot_x86),$(WDKContentRoot)tools\tracing\x86
配置属性>库目录:
- 添加 $(VCToolsInstallDir)lib\Spectre\onecore$(DDKPlatform);$(LibraryPath)
链接器>输入: -添加onecoreuap.lib;winusb.lib;

在c/c++下的预处理器中也有很多不同的预处理器定义。我添加了这些,但我不知道是否需要它们。列表如下:WIN32;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;