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

来源:互联网 发布:淘宝全屏宽图怎么设置 编辑:程序博客网 时间:2024/05/16 18:26

作者: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进一步进行调试。

0 0
原创粉丝点击