0
点赞
收藏
分享

微信扫一扫

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


一加密狗开发基本原理:

经过我的探索,加密狗的基本原理就是每个加密狗有不同的id,根据加密狗的id生成独一无二的库文件,然后再在程序中加入vendorcode文件,比对插入的加密狗和code文件,如果匹配就识别成功,否则不成功。

这里我在safenet的技术人员的帮助下,已经在windows上成功生成了我这一套加密狗的库文件(因为是linux所以是.a文件),替换原有的库文件,成功的把例程跑起来了:

qt linux 调用外部库文件 (safenet加密狗开发一)_静态库


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

在QT中调用库文件

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

这里的库文件结构:

qt linux 调用外部库文件 (safenet加密狗开发一)_库文件_02

其中.h文件是对一些函数的声明,.a文件是对函数的实现

qt链接库文件

可以手动在qt的项目pro文件中链接,也可以在项目名称上右键->添加库-》外部库:

qt linux 调用外部库文件 (safenet加密狗开发一)_QT_03


选择库的地址,这里我在项目目录下新建了lib文件夹,把这三个文件放入其中:

qt linux 调用外部库文件 (safenet加密狗开发一)_静态库_04

然后点确定就会自动链接了

在项目中引入库的头文件:

但是我怎么引入也都不成功,是因为我放在了项目的lib文件夹下,引入的话需要指明文件夹位置:

#include "./lib/dog_api.h"

这样就成功了,也有代码提示:

qt linux 调用外部库文件 (safenet加密狗开发一)_QT_05

环境构建完成,接下来就能根据例程进行加密狗开发了


举报

相关推荐

0 条评论