zoukankan      html  css  js  c++  java
  • Qt HID USB通讯错误

    1.下载hidapi库

    链接:https://pan.baidu.com/s/1iQBuTxg-fReN-7GTrCT6SA
    提取码:xzqw
    2.把库加入qt

    转自:https://www.cnblogs.com/sankye/p/5951852.html

    一.添加第三方的头文件

    这个问题再简单不过了,不过我还是要说下。

    首先,添加头文件  #include "ControlCAN.h"

    然后,再将这个头文件放到工程的目录下,就OK了,非常的简单

    二.添加.lib文件

    首先,将.lib文件放到对应的工程目录下(当然,放到其他路径也可以)。

               但是,仅仅做这一步是不行的,工程不会主动去包含这个.lib文件,你必须告诉他,lib文件在哪里,才可以。

    然后,在QT的工程中,你会看到一个.pro文件,比如,我的工程名为test_qt,那么我的文件就是test_qt.pro文件,在整 个QT界面的左上角,.pro文件是管理整个工程的,当要打开一个工程的时候,只要打开.pro,就可以打开整个工 程的所有东西。

            所以,我们要做的,就是在.pro文件中,加上一句话,告诉工程,.lib在哪里

    LIBS += -LE:/project/QT/usbcan_info/ -lControlCAN

    下面对这句话进行解析:

    1)+=这个符号是连接在一起的,不要自做聪明,给分开了,写成+ = ,这样就是错的!

    2)+=的左右两边可以有空格,也可以没有空格,随意的

    3)-L之后紧接着就跟着.lib文件所在的目录,比如,我的目录是在E盘下的project目录下的QT目录下的usbcan_info下,注意,是紧跟着,不要分开,分开就错啦!

    4)-l后面跟着的是.lib的文件名,注意,比如你的.lib文件时ControlCAN.lib,不要傻乎乎的写成了-lControlCAN.lib,不要带后缀,要写成-lControlCAN,同样,-l后面也没有空格

    完成以上的操作,就可以指定.lib文件了。其实说穿了很简单,就是把.lib随便放到一个目录下,然后告诉工程,你的.lib放到哪里了,叫什么名字。

    三.添加.dll文件

    一个工程编译成功后,会在工程目录下生成2个目录,一个是debug目录,一个是release目录(注意,如果一个工程刚刚新建,是没有这2二个目录的,不信的朋友可以看看)。

    其中,debug就叫做输出目录!因为工程编译后的.exe就在这个目录下。

    然后,将.dll文件放到这个目录下。OK了,妥妥的。

    3.然后问题就出现了

    程序崩溃。要不就是找不到hidapi。如果找不到就重新放一次试试。程序崩溃界面没来得及截图,错误码:0xc0150002

    4.程序崩溃是因为缺少其他的dll。我是缺少了msvcr100d.dll

    链接:https://pan.baidu.com/s/1XMK_6ZdO3xutcJLh1KIJtg
    提取码:tspr

    可能有人会缺少其他的,根据下面两篇文章找找答案。

    https://blog.csdn.net/u012902367/article/details/84328341

    我是先执行指令windeployqt **.exe   然后在debug里面双击.exe,然后提示缺少msvcr100d.dll

    耽误了一天终于搞定了。

  • 相关阅读:
    linux下FFmpeg编译生成ffplay
    linux下ffmpeg安装
    linux之x86裁剪移植---字符界面sdl开发入门
    Linux忘记开机密码怎么办?
    linux命令--ldconfig和ldd用法
    linux命令之 ifconfig
    Linuxshell脚本之if条件判断
    redis之django-redis
    深刻理解Python中的元类(metaclass)
    【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)
  • 原文地址:https://www.cnblogs.com/smh2015/p/10748914.html
Copyright © 2011-2022 走看看