您的位置:首页 > 其它

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

2014-08-28 11:04 1011 查看
作者: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进一步进行调试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: