一加密狗开发基本原理:

经过我的探索,加密狗的基本原理就是每个加密狗有不同的id,根据加密狗的id生成独一无二的库文件,然后再在程序中加入vendorcode文件,比对插入的加密狗和code文件,如果匹配就识别成功,否则不成功。
这里我在safenet的技术人员的帮助下,已经在windows上成功生成了我这一套加密狗的库文件(因为是linux所以是.a文件),替换原有的库文件,成功的把例程跑起来了:

别的我也不多说,因为不同的加密狗厂商有不同的加密方案,本文主要内容是介绍QT如何调用外部库文件

在QT中调用库文件

外部库文件主要就是保留了头文件(.h),把繁琐的函数实现部分(.cpp)文件封装成了库文件(.a,.lib),即静态库文件
动态库文件是程序运行时需要的文件,如.dll文件,可以自动链接,静态库则需要手动链接并调用。

这里的库文件结构:
其中.h文件是对一些函数的声明,.a文件是对函数的实现
qt链接库文件
可以手动在qt的项目pro文件中链接,也可以在项目名称上右键->添加库-》外部库:

选择库的地址,这里我在项目目录下新建了lib文件夹,把这三个文件放入其中:
然后点确定就会自动链接了
在项目中引入库的头文件:
但是我怎么引入也都不成功,是因为我放在了项目的lib文件夹下,引入的话需要指明文件夹位置:

#include "./lib/dog_api.h"

这样就成功了,也有代码提示:
环境构建完成,接下来就能根据例程进行加密狗开发了

qt linux 调用外部库文件 (safenet加密狗开发一)相关推荐

  1. QT用法--添加外部库文件(lib文件)

    因为我在工作的过程中,使用的是第三方提供的库,但是如何将这些库添加到QT的工程中,是个问题,让我恼火了很久,怎么弄都是错的. 下面,我会对这个问题,进行叙述,希望其他人第一次遇到这种问题的时候,可以轻 ...

  2. linux下Qt调用C++库文件(.so)程序实现

    文章目录 主要内容 一.编程环境及实现方法 二.项目实现 1.创建项目 2.导入库文件 三.项目中遇到的问题 总结 主要内容 如标题所示,在linux下使用qtcreator创建项目调用C++库文件, ...

  3. VS报错LNK1104原因之:引入外部库文件却没有将其路径添加至main所在项目的链接器的附加库目录

    VS报错LNK1104原因之一:隐式引用外部库文件(无论静态库还是动态库),却没有将其路径添加至main所在项目的链接器. 场景:需要用到外部提供的API,此处用静态库示范,调用方法为隐式调用,即使用 ...

  4. QT Creator使用matlab库文件读取.mat文件数据

    QT Creator使用matlab库文件读取.mat文件数据 一.环境配置 二.关于编程介绍 三.关于使用函数的介绍 1:关于假设数据类型介绍 2:关于使用函数介绍 一.环境配置 第一步先点开我的电 ...

  5. python 3d游戏脚本_【Maya】pythonInMaya_调用外部脚本文件

    通常我们会在maya的脚本编辑器中执行python代码,如果是使用外部的.py脚本文件,两种方法可选: 1.        使用File菜单下的LoadScript载入.py脚本文件的内容,然后在编辑 ...

  6. linux的库文件路径,Linux下的库文件搜索路径

    对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执行&quo ...

  7. Qt 工程添加windows库文件

    文章目录 背景 编译出错 查看openTrace函数 在Qt 工程中添加库文件 添加后pro文件 背景 项目中用到了"C:\Program Files (x86)\Windows Kits\ ...

  8. linux python qt 安装目录,Linux 下QT调用Python库文件 以及Linux 安装Python3.8开发环境 问题...

    最近想运用linux系统下Qt来实现c++ 与python的混合编程,linux系统会自带python2.7版本或者python3.5版本(深度linux). Qt调用python文件需要在pro文件 ...

  9. qt调用c语言编写的dll文件,Qt之调用外部DLL - moki_oschina的个人空间 - OSCHINA - 中文开源技术交流社区...

    预备知识: 1.如果在没有导入库文件(.lib),而只有头文件(.h)与动态链接库(.dll)时,我们才需要显示调用,如果这三个文件都全的话,我们就可以使用简单方便的隐式调用. 2.通常Windows ...

最新文章

  1. linux环境编程-- ftok()函数
  2. csgo怎么通过人机验证_让你的MacBook Pro完美运行CSGO!(图解版)
  3. ML 自学者周刊:第 2 期
  4. 第29天:控制进度,控制进度知识点,敏捷中控制进度知识点
  5. Steps to developing Metro style apps 第一章-Creat a UI(2)(4)
  6. 南工院linux考试题库,操作系统复习题..doc
  7. 玩转Redis集群(下)
  8. 30秒内限制函数只被调用一次
  9. 再生龙u盘复制linux,再生龙制作U盘启动盘教程 | 楚盟博客
  10. 重装系统的悲剧。。。。。
  11. 在Windows 7中打开Telent客户端服务
  12. linux7怎么配yum,centos7怎么配置yum
  13. Jzoj4627 斐波那契数列
  14. *第十五周*数据结构实践项目一【验证哈希表及其算法】
  15. vue 引入qunee_在vue项目中怎么使用qunee拓扑图插件,怎么正确的使用 graphEditor ?求帮助...
  16. 如何免费下载学术论文-谷粉学术
  17. 查看创建数据库的sql语句
  18. java 解析3层xml_java实战之解析xml
  19. JNLP文件具体说明编辑
  20. 数字身份_数字身份作为投资

热门文章

  1. 改led背光有光斑_2020东莞最火改灯店,东莞奥迪A6L车灯老化改灯,奥迪改激光大灯...
  2. 漫谈金丝雀部署(Canary Deployment)
  3. numpy构建BIRNN双向循环神经网络
  4. spring框架优势都有哪些
  5. 阿里云视频点播服务端API和SDK测试
  6. HuffmanTree的创建、编码、解码操作
  7. linux 升级pip3命令,linux如何升级pip
  8. 跟李宁老师学Python视频课程(12):Python常用模块-李宁-专题视频课程
  9. 微信小程序可以用到的各大平台的免费接口
  10. 大数据计算模式有哪些