libusb-win32-src-1.2.6.0源码编译成功。内附详细配置

288 篇文章 0 订阅
120 篇文章 3 订阅

作者:gallop020142

转自:http://www.amobbs.com/forum.php?mod=viewthread&tid=5554071&highlight=libusb


系统平台:
windows7
工具软件:
1.Winddk7600_1(GRMWDK_EN_7600_1.ISO)
2.Mingw5.1.6
3.Visualstudio 2008(optional)
4.libusbK-3.0.6.0(optional)

具体步骤:
分两步走,第一步先编译出libusb.lib, libusb0.sys, install-filter.exe, istall-filter-win.exe, testlibusb.exe testlibusb-win.exe, libusb0.dll;第二步编译inf_wizard.exe等。

Libusb-win32-src-1.2.6.0的编译:(先编译出libusb.lib, libusb0.sys, install-filter.exe, istall-filter-win.exe, testlibusb.exe testlibusb-win.exe, libusb0.dll)
Step1)        修改ddk_make/make.cfg中的相关内容:
1.        Line25 WINDDK_BASE =c:\WinDDK
2.        Line26 WINDDK_DIR=!WINDDK_BASE!\7600.16385.1\
3.        Line29 注释掉
4.        Line49 PACKAGE_ROOT_DIR = C:\libusb-win32\
5.        Line76 ISCC=C:\Program Files\Inno Setup 5\ISCC.exe(optional)
6.        Line81 IMPLIB=C:\Program Files\Borland\CBuilder6\Bin\implib.exe(optional)
Step2)        修改ddk_make/make.cmd
1.        Line175 W2K 修改成WIN7
Step3)        在命令行cd至ddk_make,输入命令make.cmd “arch=x86”进行编译。make.cmd的其余参数的用法可以通过打开make.cmd文本查看该文件的line955-1017(ShowHelp)。
Step4)        要编译Inf_wizard.exe就需编译projects/additional/libwdi,而可以单独进行编译,如下文所示。

Libwdi(Library for Windows Driver Installer, software/progromming/libwdi-1.2.2.tar.gz)的编译
Step1)        打开libwdi-1.2.2/libwdi/embedded_files.h文件,Line50 – line155定义了需要准备的文件,这些文件在libwdi-1.2.2/msvc/config.h中定义。可以查看需要准备的文件如下(只定义OPT_M32, LIBUSB0_DIR, LIBUSBK_DIR):
1.        DDK_DIR \\redist\\wdf\\x86\\WdfCoInstaller0 STR(WDF_VER).dll
2.        DDK_DIR \\redist\\“COINSTALLER_DIR”\\x86\\winusbcoinstaller2.dll
3.        DDK_DIR \\license.rtf
4.        LIBUSB0_DIR \\bin\\x86\\libusb0_x86.dll
5.        LIBUSB0_DIR \\bin\\x86\\install-filter.exe
6.        LIBUSB0_DIR \\bin\\x86\\libusb0.sys
7.        LIBUSBK_DIR \\sys\\x86\\libusbK.sys
8.        LIBUSBK_DIR \\dll\\x86\\libusbK.dll
Step2)        前3个文件为winddk自带,所以只需在本机任意地址准备如上文件4-8:
1.        从编译的libusb-win32-src-1.2.6.0中复制对应文件到D:/libusb-win32: bin/x86/libusb0_x86.dll, install-filter.exe libusb0.sys
2.        从libusbK的安装目录下找到对应的文件复制到D:/libusbK/bin/dll/x86/libusbK.dll,如果libusbK.sys找不到的话,在c:/windows/system32/drivers下找到并复制libusbK.sys至D:/libusbK/bin/sys/x86/libusbK.sys
Step3)        修改libwdi-1.2.2/msvc/config.h:
1.        Line14-16: DDK_DIR修改成本机winddk7600_1的安装地址,如"C:/WinDDK/7600.16385.1",注意所有地址符用”/”或者“\\”,不要用“\”!
2.        Line19-21: LIBUSB0_DIR修改成本地libusb-win32-bin的地址,如"D:/libusb-win32"
3.        Line24-26: LIBUSBK_DIR 修改成本地libusbK的地址,如"D:/libusbK/bin"
4.        Line 34: WDF_VER 修改成winddk的版本 1009
Step4)        借助winddk编译libwdi1.2.2源码:
1.        开始->Windows Driver Kits->WDK 7600.16385.1->build environments->windows7->x86 free build environment
2.        在打开的命令行中cd至libwdi1.2.2的源码路径
3.        在命令行输入ddk_build.cmd(如果要生成dll的话,再加上 dll)
4.        如果编译成功的话,会出来一些类似的信息,表示所编译的工程编译成功(8个executable built, 1个library built)
4 files compiled
1 executable built
如果编译不成功,出现embedded.h文件找不到的情况,则基本肯定是以上步骤,特别是所需准备的文件的路径有问题!
如果以上编译成功的话,可以打开libwdi_2008.sln进一步进行调试。

关于libusb-win32开发的经验(2012-11-10 11:37:50)转载▼标签: win32rs232驱动usblibusbit 分类: 外围器件接口 作为设备开发者, 一般需要让设备与上位机PC通讯, 我们往往考虑采用以下几种接口: rs232, USB, ethernet. 现在在PC机上已经很难见到rs232的接口, 而ethernet也需要做特殊的配置, USB大多成为我们的首选. 对于数据偏少的应用, 我们可以利用USB虚拟串口的方式来完成这样的任务, 虚拟串口的驱动和实例, 对于下位机来说也非常常见. 有个问题: 很多应用无法用虚拟串口的方式来得到满足, 只能按照USB的方式来解决问题. 这个时候, 我们只好针对USB进行编程. 对于复杂的驱动编程, 大多数程序员往往望而却步. 不过总有其他简单的方法解决问题. 这里, 我们介绍一个USB通讯库: libusb. 介绍 libusb是一个针对usb通讯的库. 使用它, 你不需要知道操作系统的细节, 你只需要对USB有足够的了解即可. 它也不需要你写驱动, 所有的工作都可以在用户态完成. 使用方法很简单, 这里有一个示例: http://sourceforge.net/apps/trac/libusb-win32/wiki/libusbwin32_documentation#IV.Examples , 是不是很简单? 原理 libusb自己带有一个内核驱动, 名字叫libusb0.sys, 放在WINDOWSSYSTEM32DRIVERS里面. 用户程序调用libusb0.dll, dll会把任务交由驱动来完成. 这样保证用户态就能够完成USB通讯的作业. 具体做了什么, 可以通过下载项目的源文件来了解, 等我有时间的时候再看看吧. 安装方法 libusb现在有好几个版本. 主页面在这里: http://www.libusb.org/ 因为我们一般是进行工程应用, 选择相对稳定的版本: libusb-0.1. 平台在windows下的话, 我们采用libusb-win32: http://www.libusb.org/wiki/libusb-win32 linux下一般已经添加到源里面去了, 查找libusb即可. windows下安装方法: http://www.libusb.org/wiki/libusb-win32#Installation 里面有2种安装方式, Filter Driver Installation 和 Device Driver Installation, 前面一个可以说是开发环境, 后面可以说是发布驱动本身. 我们因为是做系统, 选择前面一个方式, 省得麻烦. 使用 这里有比较详细的文档: http://sourceforge.net/apps/trac/libusb-win32/wiki/libusbwin32_documentation libusb-win32的下载地址http://sourceforge.net/apps/trac/libusb-win32/wiki 开发者论坛地址:http://libusb.6.n5.nabble.com/ libusb-1.0 API Reference:http://libusb.sourceforge.net/api-1.0/ 开发过程中有超时问题的原因:http://sourceforge.net/apps/trac/libusb-win32/wiki/libusbwin32_documentation
### 回答1: libusb-win32-devel-filter-1.2.6.0.exe是一个用于Windows操作系统的开源USB设备驱动程序开发工具。 libusb-win32-devel-filter-1.2.6.0.exelibusb-win32开发组为Windows平台开发的一个版本。libusb-win32是一个基于libusb库的Windows USB设备驱动开发套件,提供了一组API供开发人员使用。libusb库和驱动是以开源形式发布的,允许用户自由修改和分发。 libusb-win32-devel-filter-1.2.6.0.exe是该工具的安装程序。安装后,开发人员可以使用该工具来开发和测试Windows上的USB设备驱动程序。它提供了一些开发中常用的功能和工具,如USB设备控制、传输数据和设备事件监听等。除此之外,该工具还提供了可视化的界面和示例代码来帮助开发人员更加方便地使用。 通过使用libusb-win32-devel-filter-1.2.6.0.exe,开发人员可以轻松地创建稳定和高效的USB设备驱动程序。它支持多种Windows操作系统版本,并且能够与各种类型的USB设备进行通信和交互。这个工具是一个强大而灵活的开发套件,为USB设备的开发和驱动提供了便利和支持。 总之,libusb-win32-devel-filter-1.2.6.0.exe是一个用于Windows平台的USB设备驱动程序开发工具,它帮助开发人员轻松创建和测试驱动程序,并提供丰富的功能和工具。 ### 回答2: libusb-win32-devel-filter-1.2.6.0.exe是一个Windows平台上的软件包。它是一个USB驱动程序,用于连接和管理USB设备与计算机之间的通信。 libusb-win32-devel-filter-1.2.6.0.exe包含了用于开发和测试USB设备的工具和库文件。它提供了一组API,使开发人员可以轻松地访问和控制USB设备的功能。 该软件包还包含了一个过滤驱动程序,可以帮助用户过滤特定USB设备类型的连接请求。这对于需要限制可连接设备类型的应用程序非常有用。 此外,libusb-win32-devel-filter-1.2.6.0.exe还支持多种USB传输类型和协议,包括控制传输、批量传输和中断传输。这使开发人员能够根据应用程序的需求,选择最合适的传输方式。 总之,libusb-win32-devel-filter-1.2.6.0.exe是一个用于开发和测试USB设备的软件包。它提供了易于使用的API和工具,以及过滤驱动程序,帮助用户进行USB设备的连接管理和控制。这是一个方便且强大的工具,适用于Windows平台上USB设备开发的需求。 ### 回答3: libusb-win32-devel-filter-1.2.6.0.exe是一个用于Windows操作系统的软件包。它是libusb-win32开发团队开发的一个过滤器驱动程序。libusb-win32则是基于开放源代码的libusb项目的一个分支。 libusb-win32是一个为USB设备提供通用访问接口的库和驱动程序,允许开发人员以编程方式直接访问和控制USB设备。而libusb-win32-devel-filter-1.2.6.0.exe则是libusb-win32的开发版本,包含了用于开发的过滤器驱动程序。 过滤器驱动程序可以在USB设备与主机之间添加中间层,以提供额外的功能和控制选项。它可以拦截和修改设备和主机之间的通信,并对输入和输出数据进行处理。通过使用过滤器驱动程序,开发人员可以对USB设备进行更加灵活和个性化的开发。 要使用libusb-win32-devel-filter-1.2.6.0.exe,您需要将其安装在您的Windows系统上。安装后,您可以使用开发工具(如C/C++编译器)与libusb-win32库进行集成,以编写自定义的USB设备控制应用程序。 总结来说,libusb-win32-devel-filter-1.2.6.0.exe是用于Windows系统的libusb-win32开发套件的一部分,提供了过滤器驱动程序,用于在USB设备与主机之间添加中间层,以实现更多的功能和控制选项。通过安装该软件包,开发人员可以使用libusb-win32库进行USB设备的开发和控制。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值