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

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

详细步骤如下所示

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

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

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

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

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

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

自己总结的用于ARM的Linux-QT动态库的移植
自己总结的用于ARM的Linux-QT动态库的移植
自己总结的用于ARM的Linux-QT动态库的移植
当设置完成后即可选择编译生成库文件
自己总结的用于ARM的Linux-QT动态库的移植 编译成功 自己总结的用于ARM的Linux-QT动态库的移植

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

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

首先,我们需要重新清除编译之前的Qt项目,make distclean
删除之前生成的工程Pro文件
自己总结的用于ARM的Linux-QT动态库的移植
删除项目中之前保留的Httpget.cpp文件,只保留Httpget.h文件
自己总结的用于ARM的Linux-QT动态库的移植
在当前工程项目中创建库文件lib
自己总结的用于ARM的Linux-QT动态库的移植
将生成的动态库文件拷贝到lib文件夹下

自己总结的用于ARM的Linux-QT动态库的移植
自己总结的用于ARM的Linux-QT动态库的移植
自己总结的用于ARM的Linux-QT动态库的移植
重新生成项目Pro文件
自己总结的用于ARM的Linux-QT动态库的移植

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

自己总结的用于ARM的Linux-QT动态库的移植
完成后,生成Makefile文件
自己总结的用于ARM的Linux-QT动态库的移植
编译工程
自己总结的用于ARM的Linux-QT动态库的移植
编译完成,拷贝可执行程序到共享文件夹
自己总结的用于ARM的Linux-QT动态库的移植
开发板拷贝运行测试

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

开发板运行测试找不到相应的库文件,原因是因为我们在Linux虚拟机编译的动态库文件没有拷贝到开发板lib文件夹中,开发板调用不到相应的库文件信息。
将虚拟机中的库文件拷贝开发板中
自己总结的用于ARM的Linux-QT动态库的移植

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

再次运行,测试成功

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