You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:如何将libusb-1.0.22库添加到Qt项目中?

别慌!我来一步步带你把libusb库成功加到Qt项目里,步骤都很清晰,跟着做就行~

第一步:先处理下载的库文件

把你拿到的libusb-1.0.22.7z解压到一个你能记住的固定路径,比如D:\ThirdParty\libusb-1.0.22。解压后你会看到几个核心文件夹:

  • include\libusb-1.0:这里面放着关键的头文件libusb.h
  • MS64(对应64位系统)或MS32(对应32位系统):里面是编译好的库文件,比如libusb-1.0.lib(导入库)和libusb-1.0.dll(动态库)

第二步:修改Qt项目的.pro配置文件

这是最关键的一步,打开你的Qt项目根目录下的.pro文件,添加下面的配置代码,记得把路径改成你实际的解压路径:

# 引入libusb的头文件路径
INCLUDEPATH += D:/ThirdParty/libusb-1.0.22/include/libusb-1.0

# 链接libusb库,根据你的项目架构选对应路径
# 64位项目用这个
LIBS += -LD:/ThirdParty/libusb-1.0.22/MS64/ -llibusb-1.0
# 32位项目就把上面的MS64改成MS32
# LIBS += -LD:/ThirdParty/libusb-1.0.22/MS32/ -llibusb-1.0

第三步:处理动态库文件(必做!)

因为默认用的是动态链接库,所以你需要把MS64MS32文件夹里的libusb-1.0.dll复制到你的Qt项目的可执行文件输出目录里——比如你用Debug模式编译的话,就复制到build-你的项目名-Desktop_xxx-Debug/debug目录下;Release模式就复制到对应的Release目录,不然运行程序会弹出“找不到dll”的错误。

第四步:测试配置是否成功

在你的代码里加一段简单的测试代码,验证一下:

#include <libusb.h>
#include <QDebug>

int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);

    libusb_context *ctx = nullptr;
    int ret = libusb_init(&ctx);
    if (ret == 0) {
        qDebug() << "🎉 libusb初始化成功啦!";
        libusb_exit(ctx);
    } else {
        qDebug() << "😮‍💨 libusb初始化失败,错误码:" << ret;
    }

    return a.exec();
}

运行程序,如果控制台输出“libusb初始化成功啦”,就说明配置完全没问题了!

几个要注意的小细节

  • 一定要保证你的Qt项目的架构(32/64位)和你选择的libusb库的架构一致,不然会出现链接错误
  • 不管你用的是MinGW还是MSVC编译器,路径都可以用斜杠/或者双反斜杠\\,Qt都能识别
  • 如果想静态链接libusb,需要找名字带-static的静态库文件,然后在.pro里链接这个静态库,同时不需要复制dll文件

内容的提问来源于stack exchange,提问作者Sonicpath

火山引擎 最新活动