zhang..yb 发表于 2013-10-18 16:54:13

请教 BCB+LibUSB 问题

#include <vcl.h>
#pragma hdrstop

#define      USBDEV_VENDOR      0x8888// for STM32
#define      USBDEV_PRODUCT   0x1010



#include "Unit1.h"
#include "usb.h"


static usb_dev_handle *usbhandle;
char UsbMessage;

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
      : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
usbasp_open();
      
}
//---------------------------------------------------------------------------
int usbasp_open(void)
{
struct usb_bus    *bus;
struct usb_device *dev = 0;
usb_init();
usb_find_busses();
usb_find_devices();
for(bus=usb_get_busses(); bus; bus=bus->next)
   {
    for(dev=bus->devices; dev; dev=dev->next)
   {
      if((dev->descriptor.idVendor == USBDEV_VENDOR) && (dev->descriptor.idProduct == USBDEV_PRODUCT))
      break;
   }
    if(dev)
      break;
   }
if(!dev){
   // UsbMessage="找不到USB设备";
    StrPCopy (UsbMessage,"不能打开 USB 适配器!");
    usbhandle=NULL;
    return 1;
}
usbhandle = usb_open(dev);
usb_set_configuration(usbhandle,1);
usb_claim_interface(usbhandle,0);
StrPCopy (UsbMessage,"已联接 USB 适配器");

if(!usbhandle){
   // ShowMessage("不能打开USB!");
    StrPCopy (UsbMessage,"不能打开 USB 适配器!");
    usbhandle=NULL;
    return 2;
}
return 0;
}


编译出错,libusb 的库函数找不到,明明写了 #include "usb.h“, 库函数文件也复制了,就是调用出错,为什么?

yyts 发表于 2013-10-18 17:00:52

.lib库要加到工程中吧

zhang..yb 发表于 2013-10-18 18:20:55

怎么加? 谢谢!
好久没用 BCB了, 生疏了.

zhang..yb 发表于 2013-10-18 18:44:28

谢谢2 楼的提示, 在 Project 中加入库才能调用, 多谢了!

yyts 发表于 2013-10-18 19:24:20

zhang..yb 发表于 2013-10-18 18:44 static/image/common/back.gif
谢谢2 楼的提示, 在 Project 中加入库才能调用, 多谢了!

求共享这个库,另外你USB是用的哪种方式通信的.

zhang..yb 发表于 2013-10-19 18:42:29

上位机是不分通讯方式的.
页: [1]
查看完整版本: 请教 BCB+LibUSB 问题