Skip to content

feast107/DotpenDemo

Repository files navigation

DotpenDemo 麒麟互认证点阵笔Demo

QT Kylin-OS 语言-C++11 SDK QtTool


QT QT QT 腾千里


索引


开始

这是一个精简的基架

  • 预览一下



  • 外部导入

    本项目引用了外部项目 QtTool

    构建之后将项目下的 Include 目录添加到 DotpenDemo.pro 项目文件中

    INCLUDEPATH += {...}/QtTool/Include //包含目录
    DEPENDPATH += {...}/QtTool/Include //依赖目录
    

    生成的静态库文件添加到

    LIBS += {...}/ -lQtTool //动态
    PRE_TARGETDEPS += {...}/ -libQtTool //静态
    

    或者自行移动到 lib 目录下

    pch.h 文件中已经包含了对 QtTool 的引用

    #include<QtTool_global.h>

  • 关于构建

    PaperSign.pro 文件中通过修改 DEFINES 来更改对不同架构的SDK引用

    DEFINES += MIPS/x86 ...
    

    Linux特性

    由于 Linux 下二进制构建可以决定动态链接库的搜索路径,可以在编译器选项中添加 -Wl,rpath 来指定库目录,那么在Qt项目文件 PaperSign.pro 中可以通过:

    QMAKE_LFLAGS += -Wl,-rpath=./{ dir }
    

    来指定库目录

    由于外部链接会导致工作目录变动,由 .desktop.sh 启动会影响库目录的搜索,如果有相关的需求请依然使用 export

    export LD_LIBRARY_PATH={ ur lib path }

    前置条件,安装以下的库

    apt-get install libudev

  • 关于驱动

    驱动文件名需满足 *.rules 的格式
    例:
    SUBSYSTEMS=="usb", //设备协议
    ATTRS{idVendor}=="0c45", //设备批号
    ATTRS{idProduct}=="7099",//设备序列号
    GROUP="users",//用户位
    MODE="0666"//权限位

  • 关于打包

    Ubuntu 系统下打包按照DEB目录结构配置
    打包需要在非 root 用户环境下

    DEB
    |-- dotpen
        |-- DEBIAN //打包描述文件目录
        |   |-- control
        |   |-- postinst
        |-- etc //驱动目录
        |   |-- udev
        |       |-- rules.d
        |           |-- dotpen.rules
        |-- opt //应用程序目录
        |   |-- zbform
        |       |-- Dotpen
        |           |-- Dotpen
        |-- usr 
            |-- lib //动态库目录
            |   |-- *.so ...
            |-- share 
                |-- applications //快捷方式目录
                |   |-- dotpen.desktop
                |-- icons // 应用图标目录
                    |-- zbform
                        |-- Dotpen
                            | -- logo.png

    进入DEB/dotpen目录

    dpkg -b ../ papersign_{version}_{arch}.deb
    

    构建完成后会在上级目录生成.deb文件

    在需要安装的系统下执行如下进行安装

    dpkg -i *.deb
    
  • 相关资源

    相关资源放置在 .docs 目录下可供查看


关于我们