linux开发板添加qt库文件_Qt添加第三方库 - osc_5mlr2yil的个人空间 - OSCHINA - 中文开源技术交流社区...

本文介绍了如何在Linux环境下为Qt添加libcurl和libwebsockets库。首先,详细讲述了libcurl的编译安装过程,包括使用./configure、make和make install。接着,讲解了如何在Qt项目中引用这些库。然后,同样地,对于libwebsockets,文章详述了从安装cmake、openssl和zlib到编译libwebsockets的步骤。最后,提到了libqrencode的移植方法,并指出根据目标平台选择不同的编译器。
摘要由CSDN通过智能技术生成

如下为Linux下的操作

一。下载需要用到的第三方库的源码,如libcurl ,并用tar命令解压

二。创建一个文件用于保存库文件,如/curl_lib

三。进入解压后的libcurl目录,执行 ./configure --prefix=/curl_lib --enable-static --enable-shared

其中,/curl_lib为之前创建的保存文件, --enable-static --enable-shared 分别表示生成静态库与动态库

四。执行make命令

五。执行make install 命令

六。在/curl_lib目录下生成include(头文件)与lib(库文件)的目录

七。Qt上导入第三方库应用

(1)在Qt .pro文件中添加上述步骤所产生的include文件路径

/home/workspace/Qt/Qt2/test/curl_lib/include

(2)在Qt .pro文件中添加上述步骤所产生的lib文件路径

/home/workspace/Qt/Qt2/test/curl_lib/lib

(3)如此,就可以在Qt中调用curl的库了

八。Qt上导入第三方库libwebsockets

(1)安装cmake(经验:安装较老的版本没那么多意想不到的问题,此处安装cmake-3.2.0-rc1.tar.gz)

安装方法:A)下载并解压源码

B)cd到文件目录 ,执行./bootstrap

C)make && make install

(2)安装openssl(经验:安装较老的版本没那么多意想不到的问题,此处安装openssl-1.0.0a)

安装方法:A)下载并解压源码

B)cd到文件目录,执行./config  shared --prefix=/usr/local/ssl_arm

make && make install(prefix 是安装目录,shared 作用是生成动态连接库)

(在配置前加入CC=arm-none-linux-gnueabi-gcc 可以指定编译器 , CC=arm-none-linux-gnueabi-gcc ./config no-asm shared --prefix=/usr/local/ssl_arm)

C)如果程序在PC(x86)上运行,不需要指定CC,因为默认为gcc

(3)安装zlib

A) export CC=arm-none-linux-gnueabi-gcc   //如果编译器路径已经添加到PATH可以省略,经验最好都加上此句

B)./configure --prefix=/usr/local/zlib_arm      //最后生成的库、头文件都在xxx目录下

C)  make && make install

D) 如果程序在PC(x86)上运行,export CC=gcc

(4)下载libwebsockets库并解压(经验:下载最新的版本没那么多意想不到的问题,此处下载libwebsockets-3.0-stable.zip)

(5)cd进入文件目录,mkdir build目录

(6)cd build ,  cmake ..  -DLWS_OPENSSL_INCLUDE_DIRS=/usr/local/ssl_arm/include/  -DLWS_OPENSSL_LIBRARIES="/usr/local/ssl_arm/lib/libssl.so;/usr/ssl_arm/lib/libcrypto.so"

更多的配置(根据需要选择编译器与lib、include文件路径):

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/libwebsocket_arm \

-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=arm-none-linux-gnueabi-gcc  \

-DCMAKE_CXX_COMPILER=arm-none-linux-gnueabi-g++  \

-DZLIB_INCLUDE_DIR=/usr/local/zlib_arm/include \

-DZLIB_LIBRARY="/usr/local/zlib_arm/lib/libz.a"  \

-DLWS_OPENSSL_INCLUDE_DIRS=/usr/local/ssl_arm/include/\

-DLWS_OPENSSL_LIBRARIES="/usr/local/ssl_arm/lib/libssl.so;/usr/local/ssl_arm/lib/libcrypto.so"

注:libz.a 原为lib.so,报错,改为libz.a就正确了

include/ 下还有一级目录openssl,不能放到此路径中,会报错

(7)make && make install

(8)编译好后,libwebsockets的头文件在 libwebsocket_arm/include,库文件在libwebsocket_arm/lib

(9)根据第七点,修改Qt .pro文件即可(此处需要注意导入的路径,根据程序在板子上跑还是PC上跑填入不同路径)

下面##pc  下  ssl_pc 、libwebsocket_pc 、libqrencode_pc 都是用gcc编译出来的文件,用于在PC上调试程序 , ##ARM 下的是用 arm-none-linux-gnueabi-gcc 编译出来的文件,在板子上跑

九。QT上移植libqrencode

(1)从http://fukuchi.org/works/qrencode/ 下载libqrencode(qrencode-3.4.4.tar.gz)

并用tar命令解包

(2)./configure --prefix=/homel/libqrencode-arm --host=arm-none-linux-gnueabi --without-tools

此处--prefix  指定库文件的路径,--host指定编译器(根据程序是在PC还是在开发板上跑选择不同的编译器) --without-tools(不需要zlib、libpng库)

(3)make && make install

十。补充

当程序是在开发板上运行时,按照上述编译各种库后,还需要把编译成的库放在QT的目录下

以上,

2018-9-18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值