【问题标题】:Compile libusb library on Windows在 Windows 上编译 libusb 库
【发布时间】:2017-02-13 12:39:58
【问题描述】:

我正在编写将使用 libusb 库的 C++ 应用程序。此应用程序将在 linux 和 windows 系统上运行。目前我正在准备windows系统的申请。我下载了已编译的 libusb 库,并将其链接到我的应用程序。我也在使用 mingw 编译器。不幸的是,当链接器创建 exe 文件时,它抱怨缺少 __ms_vsnprintf 函数。我认为我正在链接的 libusb 库是在使用缺失函数的环境中编译的。所以我认为在 Windows 上构建新的 libusb 库将解决这个问题。在 libusb 存储库 (git://git.libusb.org/libusb.git) 中,我在文件 INSTALL_WIN 中找到,我可以使用 Visual Studio 或 Windows DDK/WDK 构建 libusb。不幸的是我无法安装它。我还注意到,在根 libusb 目录中有一些构建 linux 脚本。有没有其他方法可以在没有 Visual Studio 但仅使用 mingw 编译器的情况下构建 libusb 库? 注意:我使用的是 Windows 7 64 位

【问题讨论】:

    标签: compilation window libusb


    【解决方案1】:

    libusb 附带一个 Visual Studio 项目,您可以使用它在 Windows 上构建 libusb。它们位于msvc 文件夹中,例如libusb_dll_2017.vcxproj

    更简单的是,libusb 也已集成在 vcpkg 中,因此您只需运行 vcpkg install libusb 即可开始使用。

    【讨论】:

    • 目前,我修复了该错误。这是因为我使用了无效的库 .a 文件。我不记得我是如何得到那个文件的。但是当我从 lubusb.info 下载二进制文件并使用 MinGW32/ dir 中的编译库时,它解决了问题。对于任何人,请注意库 x86 与 x64 的目标平台。我有 64 位系统,但是当我尝试编译 64 位二进制文​​件(也使用 64 位 min-gw)时出现错误。但是当使用 32 位库时,它工作正常。对于任何处理 libusb 的人的下一个信息,使用 Zadig 应用程序重新安装 libusb 驱动程序。
    猜你喜欢
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    相关资源
    最近更新 更多