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

Posted

技术标签:

【中文标题】Visual Studio:如何设置dll解决方案,可以参考winusb【英文标题】:Visual studio: How to setup dll solution, which can refer to winusb 【发布时间】:2021-07-15 06:58:01 【问题描述】:

我已经尝试了几天来制作一个编译和链接 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 项目中可访问的正确方法是什么?

最好的问候!

【问题讨论】:

制作一个与您的 .exe 具有完全相同属性(和文件)的 .dll 项目,应该可以工作。如果它没有编译,那么你错过了一些设置。 确实有效!非常感谢!不幸的是,我无法将您的评论标记为答案...如果您愿意,请将其作为普通帖子再次发布,我会将其标记为答案。 好吧,我没有提供答案,因为问题不是很清楚。您应该详细回答自己的问题,然后将其标记为解决方案。 【参考方案1】:

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

【讨论】:

以上是关于Visual Studio:如何设置dll解决方案,可以参考winusb的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 Visual Studio 2010 项目来为 Slickedit 17 构建 64 位扩展 dll?

如何在 Visual Studio 2010 中正确引用 dll?

如何在 Visual Studio 2010 中使用 Visual Studio 2008 创建的 DLL?

如何设置 Visual Studio 以将所需的 DLL 文件复制到发布版本中的发布目录中?

如何解决 Visual Studio 2019 中的这个 dll 缺失问题?

visual studio 如何生成动态库