自己总结的用于ARM的Linux-QT动态库的移植
方法与网上介绍的Linux QT下实现的建立动态库一致,只需要,将代码中部分独立的文件单独编译为库文件即可详细步骤如下所示首先进入Linux虚拟机打开QT creatorFile —> New C++ Librarry命名需要新建动态库的名称及创建路径QT库必须选择包含QtCore,如果库文件还有UI界面还需要包含QtGUI,其他Qt头文件同样根据库的使用进行包含。定义生...
方法与网上介绍的Linux QT下实现的建立动态库一致,只需要,将代码中部分独立的文件单独编译为库文件即可
详细步骤如下所示
首先进入Linux虚拟机打开QT creator
File —> New C++ Librarry
命名需要新建动态库的名称及创建路径
QT库必须选择包含QtCore,如果库文件还有UI界面还需要包含QtGUI,其他Qt头文件同样根据库的使用进行包含。
定义生成文件和类
Finish
进入Qt Creator主界面
将要需要移植打包的动态库文件拷贝到相应的.cpp .h文件中
(前面所有界面为演示建立的一个新的动态库文件的方法,后面将打开一个之前经过测试成功移植到开发板的动态库文件)
将要编译为动态库的文件,调用关系尽量简单明了(这也是程序设计要做到的高度)
如,这两个类
本文以http_get文件进行
将项目文件 httphet.cpp,Httpget.h中的内容相应的拷贝到http.cpp,http.h文件中
在拷贝完成选择编译之前,值得注意的是,我们需要将编译工具选择为开发板编译工具QtE-4.8.5 Tool —> OptinS
当设置完成后即可选择编译生成库文件
编译成功
编译完成后即可生成动态库文件,在工程目录下的另一个目录下
将编译好的动态库拷贝到NFS共享文件夹
至此,Qt动态库编译完成,接下来是关于如何将动态库用于项目和移植到运行到开发板中。
首先,我们需要重新清除编译之前的Qt项目,make distclean
删除之前生成的工程Pro文件
删除项目中之前保留的Httpget.cpp文件,只保留Httpget.h文件
在当前工程项目中创建库文件lib
将生成的动态库文件拷贝到lib文件夹下
重新生成项目Pro文件
打开Pro文件,添加,库文件路径,
完成后,生成Makefile文件
编译工程
编译完成,拷贝可执行程序到共享文件夹
开发板拷贝运行测试
开发板运行测试找不到相应的库文件,原因是因为我们在Linux虚拟机编译的动态库文件没有拷贝到开发板lib文件夹中,开发板调用不到相应的库文件信息。
将虚拟机中的库文件拷贝开发板中
再次运行,测试成功
更多推荐
所有评论(0)