visual-studio - 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 指令添加我的文件,但它不会编译。-2nd 方法是在 win usb app 解决方案中添加一个 dll 项目,并尝试从 dll 项目中调用 winusb app 项目的功能。那是行不通的。我试图设置从 dll 项目到 winusb 应用程序项目的引用,但这没有帮助。那么,在我的 dll 项目中使这些功能可访问的正确方法是什么?
此致!
解决方案
这是我为使其工作所做的:
配置属性>VC++ 目录:-
添加 $(WDKBinRoot_x86),$(WDKContentRoot)tools\tracing\x86
配置属性>库目录:-
添加 $(VCToolsInstallDir)lib\Spectre\onecore$ (DDKPlatform);$(LibraryPath)
链接器>输入:-Add onecoreuap.lib;winusb.lib;
在 c/c++>Preprocessor 下也有很多不同的预处理器定义。我添加了这些,但我不知道是否需要它们。这是列表:WIN32;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;
推荐阅读
- html - 选择并输入相同的高度
- javascript - 基于 SVG/鼠标位置的定位 Bootstrap 弹出框
- math - 当你不能有 0 和你不能有 1 时,它叫什么?
- nginx - Nginx - 反向代理 nginx: [emerg] mkdir() "/tmp/nginx/cache" failed (2: No such file or directory)
- javascript - 如何在for循环中只打印一个整数而不是整个数组在javascript中的结果?
- java - Spring ThreadPoolTaskExecutor中的maxPoolSize和throttleLimit有什么区别
- c++ - 三元运算符中是否强制复制省略(如果允许)?
- powershell - 如何让 powershell 一次运行所有这些 Invoke-Restmethod 命令?
- python - Spyder 索引网格在变量资源管理器中未对齐
- image-processing - 为什么 keras 测试生成器只返回批量大小作为数组形状的长度?