自己总结的用于ARM的Linux-QT动态库的移植

方法与网上介绍的Linux QT下实现的建立动态库一致,只需要,将代码中部分独立的文件单独编译为库文件即可

详细步骤如下所示

首先进入Linux虚拟机打开QT creator
自己总结的用于ARM的Linux-QT动态库的移植_第1张图片
File —> New C++ Librarry

自己总结的用于ARM的Linux-QT动态库的移植_第2张图片

命名需要新建动态库的名称及创建路径
自己总结的用于ARM的Linux-QT动态库的移植_第3张图片
QT库必须选择包含QtCore,如果库文件还有UI界面还需要包含QtGUI,其他Qt头文件同样根据库的使用进行包含。

自己总结的用于ARM的Linux-QT动态库的移植_第4张图片
定义生成文件和类

自己总结的用于ARM的Linux-QT动态库的移植_第5张图片
Finish
自己总结的用于ARM的Linux-QT动态库的移植_第6张图片
自己总结的用于ARM的Linux-QT动态库的移植_第7张图片
进入Qt Creator主界面
将要需要移植打包的动态库文件拷贝到相应的.cpp .h文件中
(前面所有界面为演示建立的一个新的动态库文件的方法,后面将打开一个之前经过测试成功移植到开发板的动态库文件)
将要编译为动态库的文件,调用关系尽量简单明了(这也是程序设计要做到的高度)
如,这两个类
自己总结的用于ARM的Linux-QT动态库的移植_第8张图片
本文以http_get文件进行
将项目文件在这里插入图片描述 httphet.cpp,Httpget.h中的内容相应的拷贝到http.cpp,http.h文件中
自己总结的用于ARM的Linux-QT动态库的移植_第9张图片

在拷贝完成选择编译之前,值得注意的是,我们需要将编译工具选择为开发板编译工具QtE-4.8.5 Tool —> OptinS

自己总结的用于ARM的Linux-QT动态库的移植_第10张图片
自己总结的用于ARM的Linux-QT动态库的移植_第11张图片
在这里插入图片描述
当设置完成后即可选择编译生成库文件
在这里插入图片描述 编译成功 在这里插入图片描述

编译完成后即可生成动态库文件,在工程目录下的另一个目录下

在这里插入图片描述
自己总结的用于ARM的Linux-QT动态库的移植_第12张图片
将编译好的动态库拷贝到NFS共享文件夹
在这里插入图片描述
至此,Qt动态库编译完成,接下来是关于如何将动态库用于项目和移植到运行到开发板中。

首先,我们需要重新清除编译之前的Qt项目,make distclean
删除之前生成的工程Pro文件
在这里插入图片描述
删除项目中之前保留的Httpget.cpp文件,只保留Httpget.h文件
在这里插入图片描述
在当前工程项目中创建库文件lib
在这里插入图片描述
将生成的动态库文件拷贝到lib文件夹下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新生成项目Pro文件
在这里插入图片描述

打开Pro文件,添加,库文件路径,

自己总结的用于ARM的Linux-QT动态库的移植_第13张图片
完成后,生成Makefile文件
在这里插入图片描述
编译工程
在这里插入图片描述
编译完成,拷贝可执行程序到共享文件夹
在这里插入图片描述
开发板拷贝运行测试

在这里插入图片描述
在这里插入图片描述

开发板运行测试找不到相应的库文件,原因是因为我们在Linux虚拟机编译的动态库文件没有拷贝到开发板lib文件夹中,开发板调用不到相应的库文件信息。
将虚拟机中的库文件拷贝开发板中
在这里插入图片描述

在这里插入图片描述

再次运行,测试成功

自己总结的用于ARM的Linux-QT动态库的移植_第14张图片

你可能感兴趣的:(Qt开发测试)