c 記錄 編譯libusb win32過程

2021-10-05 05:07:02 字數 2229 閱讀 2673

參考

wdk編譯libwdi

libwdi 編譯安裝

libusb-win32 在windows7上使用vs2010編譯過程

libusb-win32 win7+vs2010編譯配置過程.doc

建立libusb-win32編譯環境,及快速除錯方法(已結帖)

用vs開啟安裝目錄/project/libusb-win32.sln即可

ddk路徑

winddk_base=c:\winddk

ddk版本路徑

winddk_dir=!winddk_base!\7600.16385.1

坑點:

路徑後面不要習慣性打出空格 然後會報錯 invalid winddk path

之後用make.cmd all 檢查執行應該順利通過不報錯 才說明ddk沒問題

然後你就可以編譯libusb-sys模組 編譯通過

cannot open include file: 『embedded.h』: no such file or directory

這裡要配置libwdi專案中的libwdi (static)

config.h中

ddk路徑

#ifndef ddk_dir

//#define ddk_dir 「c:/winddk/7600.16385.0」

#define ddk_dir 「c:/winddk/7600.16385.1」

#endif

//libusb0路徑 也就是 libusb-win32-bin路徑

#ifndef libusb0_dir

#define libusb0_dir 「g:/open-source-lib/libusb-win32-bin-1.2.6.0」

#endif

//libusbk路徑 libusbk-3.0.7.0-bin路徑 我自己用的check版本也可以

#ifndef libusbk_dir

#define libusbk_dir 「g:/open-source-lib/libusbk-3.0.7.0-bin-chk/libusbk-3.0.7.0-bin/bin」

#endif

坑點:

編譯還是過不了 說啥命令執行不正確 embeding 有乙個libusb1.0.dll找不到

要用到libusb-1.0.23

ms32 的libusb-1.0.dll 放到 libusbk的 /bin/dll/x86中

ms64的libusb-1.0.dll放到 libusbk的 /bin/dll/amd64中

然後再編譯就成功了 得到libwdi(static).lib了

然後你就可以編譯出 inf-wizard了

我自己看到缺得時候 就手動新增了pki.c 所以忽略了這個問題參考

libusb-sys生成驅動檔案 libusb-win32.sys

install-filter 用於安裝inf檔案的exe 貌似不同於inf-wizard的生成inf

inf-wizard 用於將已連線的usb裝置 匯出inf檔案

install-filter——filter驅動安裝。filter driver 是驅動的高層境界,防毒軟體,防火牆,筆記本的多功能按鍵等等都會用到。

libusb-dll——動態鏈結庫,生成libusb0.dll。上面說的「7個函式」就封裝在這裡面。同時生成了libusb0.lib檔案,供你的程式鏈結,這個檔案實現了libusb0.dll的裝載。

libusb-sys——usb驅動,生成驅動檔案libusb0.sys。大家不要誤以為是vc++編譯的,其實是makefile專案,winddk玩的借腹生子的把戲,借的vs的腹。

testbulk——libusb-win32的 」hello,world!「。

testlibusb——顧名思義,實現了libusb-win32驅動的裝置的遍歷並列印一部分裝置描述資訊。

testlibusb-win——winform版的testlibusb。

1.安裝解除安裝libusb-win32的辦法

驅動安裝工具

使用dpinst

dpinst.exe /u ***.inf 可解除安裝libusb-win32

dpinst.exe /s #inf檔案放在同級目錄下 靜默安裝

使用zadig安裝驅動

devcon 安裝驅動

2.驅動簽名工具

驅動簽名

C 學習記錄3

十 引用 reference 4 引用型函式引數 1 可以將引用用於函式的引數,這時形參就是實參的別名,可以通過形參直接修飾實參,同時還可以避免引數傳遞的過程,減小函式的呼叫開銷,提高 的執行效率 2 引用型引數可能會以外修改實參,如果不希望修改實參,可以將形參宣告為常引用,提高傳參效率的同時還可以...

C 學習記錄(3)

1.設計乙個類,求圓的周長 1.1 class 類名 1.2 公共許可權 public 1.3 設計成員屬性 1.3.1 半徑 int m r 1.4 設計成員函式 1.4.1 獲取圓的周長 int calculatezc 1.4.2 獲取圓的半徑 int getr 1.4.3 設定圓的半徑 voi...

C 初學記錄(演算法3)

c 不要62 杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 62315 73418 8...