嵌入式linux学习之移植libevent库到目标SDK

目录

目录

编译安装与移植

编译

移植

移植方法1

移植方法2


libevent下载最新的source code

编译安装方法

编译安装与移植

编译

1.在libevent官网(http://libevent.org/)上下载压缩包(我下载的是libevent-2.1.8-stable.tar.gz)

2.解压压缩包:tar -zxvf libevent-2.1.8-stable.tzr.gz

3.进入新生成的目录中:cd libevent-2.1.8-stable

4.配置安装库的目标路径:./configure --prefix=/usr/

5.编译安装libevent库:(1)make (2)sudo make install

6.检测安装是否成功:ls -al /usr/lib | grep libevent  

7、卸载,sudo make uninstall

移植

使用时,编译选项增加 -levent

如下是移植的方法

移植方法1

步骤1、编译:解压、编译(编译方法参考libevent库的编译安装步骤),

在代码的根目录新建目录install,用于存放安装文件;

假如交叉编译环境为arm-linux-gnueabihf,安装路径为:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf , 使用的编译器为arm-linux-gnueabihf-gcc

./configure --disable-openssl --prefix=$(pwd)/install  --host=arm-linux-gnueabihf CC=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

其中

--prefix用来指定安装路径,例如--prefix=$(pwd)/install,表示将应用安装到当前目录的install子目录中

--disable-openssl关闭openssl功能

执行完make && make install,install目录会生成bin、include、lib三个子目录

步骤2、编译应用

在应用所在目录,建立文件夹libevent,将install的内容拷贝过来

编译应用时,编译选项增加如下红字选项

-I./libevent/include ./libevent/lib/libevent.a 

或者在makefile中增加如下

LOCAL_LIB += -L./libevent/lib -levent

CFLAGS += -I./libevent/include

步骤3、修改环境变量:在sdk的init.d文件夹,修改rcS脚本,通过”export LD_LIBRARY_PATH=xx命令指定步骤2的.libs目录(添加环境变量),以便程序执行时能知道到哪里搜到库文件位置

移植方法2

步骤1、将代码直接拷贝到sdk的执行目录(直接将代码合入sdk)

步骤2、适配修改makefile,进行编译,在代码的根目录生成.libs文件夹(隐藏文件夹);

步骤3、在sdk的init.d文件夹,修改rcS脚本,通过”export LD_LIBRARY_PATH=xx命令指定步骤2的.libs目录,以便程序执行时能知道忘哪里搜到库文件位置

如果发现rcS脚本里export的声明不生效,则可能是因为busybox的版本原因,需要在/etc/profile文件里进行环境变量声明

如上修改环境变量的方法,如果是在PC上,则可以修改 /etc/profile 文件(这个修改针对所有用户、所有shell修改,有安全隐患,修改之后,可以一直有效)

vim /etc/profile

将export LD_LIBRARY_PATH=/usr/local/lib/ 添加至文件的最后

使用**. /etc/profile**命令重新加载

支持openssl

加入openssl的安装路径是/path/to/openssl

./configure OPENSSL_CFLAGS=-I/path/to/openssl/include OPENSSL_LIBS="-L/path/to/openssl/lib -lssl -lcrypto" 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值