arm linux qt不依赖动态库运行,自己总结的用于ARM的Linux-QT动态库的移植

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

详细步骤如下所示

首先进入Linux虚拟机打开QT creator

a07bcc97dc29c1c4a59f072d639c956f.png

File —> New C++ Librarry

4e8623fcbbf231bf57e0e56267a16a2b.png

命名需要新建动态库的名称及创建路径

a14937505cb51f1011c3c07ce4566704.png

QT库必须选择包含QtCore,如果库文件还有UI界面还需要包含QtGUI,其他Qt头文件同样根据库的使用进行包含。

b57737cd1d2f5d5da58a1d5c3ae94be0.png

定义生成文件和类

a4582d01245582f6c28ea3c2a7cc3206.png

Finish

177d3d90d9d769f466b4c343a853f9fe.png

ecd285dc3e5ad5d9866ce3bb5d526a3d.png

进入Qt Creator主界面

将要需要移植打包的动态库文件拷贝到相应的.cpp .h文件中

(前面所有界面为演示建立的一个新的动态库文件的方法,后面将打开一个之前经过测试成功移植到开发板的动态库文件)

将要编译为动态库的文件,调用关系尽量简单明了(这也是程序设计要做到的高度)

如,这两个类

233a6da04f03fa74a559a18f258b857c.png

本文以http_get文件进行

将项目文件ade502a218d180e21282896fe5c8f6db.png httphet.cpp,Httpget.h中的内容相应的拷贝到http.cpp,http.h文件中

19c1e8e729c34be14afe45cb01e31888.png

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

a19d56942a967706b0905231506178a7.png

5ecdf87537610ce9c098b14b965c56a0.png

486f7f575cdc6ee41ce77b4d9da91279.png

当设置完成后即可选择编译生成库文件

c858d7b47bfac8078f79213c51c0738f.png 编译成功 246f1d663aff3dfc9c1f0b3e8cde0d53.png

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

385ac5efc9d390fb2ed82277959ef23c.png

515a1bb4b6e64b6edb95f42e7009d4a2.png

将编译好的动态库拷贝到NFS共享文件夹

a00005d98e2cdb0225aaf95a82c36ddd.png

至此,Qt动态库编译完成,接下来是关于如何将动态库用于项目和移植到运行到开发板中。

首先,我们需要重新清除编译之前的Qt项目,make distclean

删除之前生成的工程Pro文件

de902f5f5e5343dc638b6bc866c1b290.png

删除项目中之前保留的Httpget.cpp文件,只保留Httpget.h文件

ce37f51366f8f46b3fd03b13203f9313.png

在当前工程项目中创建库文件lib

7fb4dc4442d43cb9103c3df860db486d.png

将生成的动态库文件拷贝到lib文件夹下

2a2239bdb960e1994453c8226a696d3e.png

b39894e74d0855d2a9516db747a99789.png

2b71f95789f7ceb31757ea2c951f167a.png

重新生成项目Pro文件

d1b52dbc59ab7ee1f6be2cecd1ce2773.png

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

78030d9a405fdd1c9bb8ba7bcad668b9.png

完成后,生成Makefile文件

0329444257ef725757cf4a3f4f297666.png

编译工程

cefcfb9d63512ed56a66d8921def3af3.png

编译完成,拷贝可执行程序到共享文件夹

8254e86a8c7867172c267e356d32126e.png

开发板拷贝运行测试

05c05653c1e83902772102cad4cc87c3.png

a68fdd7716d199da92c51dd041552807.png

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

将虚拟机中的库文件拷贝开发板中

5283b2a510416074149cec1aa98a35fb.png

df6045e3f1941fdc10ede7c631315c8d.png

再次运行,测试成功

af04ff2467aa4348528b25ec08c33c31.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值