簡體   English   中英

WinUsb with C++ Builder 10.3 社區版

[英]WinUsb with C++ Builder 10.3 community edition

有沒有人成功地將winusb.h與 Embarcadero 的 C++Builder 10.3 社區版一起使用?

我最近下載了 10.3,以更新我幾年前為 Windows XP(使用 Borland C++Builder 6)編寫的 PC 桌面/筆記本電腦應用程序,它使用 WinUSB 功能來驅動(一次一台)三台機器。

嘗試在 Windows 10 上運行可執行文件會導致 USB 設備訪問出現保護錯誤 - 它在 XP 和 Windows 7 上運行良好。

USB 設備已被 Windows 10 更新為自動識別(謝謝,P. Batard),並使用 Microsoft 在如何訪問 USB 設備的示例,我確信該設備沒有問題, ,我可以使用 WinUSB function 調用來查詢描述符,這些調用是在 Windows 10 計算機上的 Visual Studio 環境中編碼的。

回到 Embarcadero 的 C++Builder 10.3 社區版 - 我可以編寫一個響應按鈕按下的應用程序(編譯、鏈接和執行 ok),但是當我包含來自winusb.h的任何函數時,我得到了錯誤:

[ilink32 錯誤] 錯誤:未解析的外部“WinUsb_(func)”引用自(路徑已編輯)UNITx.OBJ

通常,我認為這意味着我沒有包含所需的 header,或者無法解決 header(或 lib)的路徑,但我很確定這不是這種情況 - Z099E43995346F3394C絕對是“包含”的,我已經編輯了 IDE 路徑以明確包含winusb.hwinusb.lib文件目錄 - 它們被“隱藏”得很深,但肯定存在。 我什至嘗試將這兩個文件復制到項目目錄,但無濟於事。

我搜索了 Embarcadero 社區網站,但找不到對“winusb”的引用。

我很欣賞這是一個比 C++Builder 6 復雜得多的環境,而且我很可能會遺漏一些東西,但我無法擺脫 IDE 中的某些東西無法正常工作的感覺 -其他標題鏈接確定。

想法,有人請嗎?

It is not enough to simply point the IDE to the folder containing Winusb.lib , you have to actually add that .lib file to your C++ project, or reference it explicitly in your C++ code using a #pragma comment(lib, "Winusb.lib")語句,否則.lib文件將不會傳遞給 linker 以解析您對 WinUSB 函數的調用。

順便說一句,C++Builder 6 中的大多數.lib文件也需要這個額外的步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM