博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqlite,libevent,openssl,mosquito交叉编译
阅读量:4364 次
发布时间:2019-06-07

本文共 2280 字,大约阅读时间需要 7 分钟。

一、设置交叉编译环境

  1. 在makefile所在目录(或源代码根目录)打开终端。
  2. 在终端中设置交叉编译所需的临时环境变量(也可写到配置文件中设置为全局环境变量),其中交叉编译工具链的名称和目录需要根据实际目录设置,每次编译前执行以下命令:
export CC=/home/hk/Desktop/sixin/gcc-4.9/bin/mips-linux-gcc  export CXX=/home/hk/Desktop/sixin/gcc-4.9/bin/mips-linux-g++export AR=/home/hk/Desktop/sixin/gcc-4.9/bin/mips-linux-arexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hk/Desktop/sixin/gcc-4.9/lib

二、交叉编译sqlite3

1.设置交叉编译环境。

2.执行以下命令配置编译选项。 --prefix= 后面跟的是编译出来的库的安装目录,需要根据实际情况设置,--host= 后面的内容根据交叉编译工具设置。

./configure --host=arm-linux-gnueabihf --prefix=/home/hk/Desktop/moxa/sqlite-autoconf-3071600/outmake   #编译make install #安装

三、交叉编译openssl

1.设置交叉编译环境。

2.执行以下命令配置编译选项。 --prefix= 后面跟的是编译出来的库的安装目录,需要根据实际情况设置。

  • 编译静态库,linux:'arm-linux-gnueabihf-gcc'arm-linux-gnueabihf-gcc根据交叉编译工具设置。

    ./Configure linux-elf-arm -DB_ENDIAN linux:'arm-linux-gnueabihf-gcc'  --prefix=[输出路径]makemake install
  • 编译动态库

./config -fPIC no-asm -shared --prefix=/home/hk/Desktop/openssl-1.0.0/out# 配置完成之后需要修改makefile,将makefile中的 -m64 删除。makemake install

注意:尽量使用静态库,动态库有时会出错。

四、交叉编译libevent

1.设置交叉编译环境。

2.执行以下命令配置编译选项。 --prefix= 后面跟的是编译出来的库的安装目录,需要根据实际情况设置。

3.CPPFLAGS="-I/usr/local/Cellar/openssl/1.0.2h_1/include"为openssl头文件目录,LDFLAGS=LDFLAGS="-L/usr/local/Cellar/openssl/1.0.2h_1/lib -lssl -lcrypto"是编译出来的openssl库目录,需要根据实际情况设置。

./configure --host=arm-linux CPPFLAGS="-I/usr/local/Cellar/openssl/1.0.2h_1/include" LDFLAGS="-L/usr/local/Cellar/openssl/1.0.2h_1/lib -lssl -lcrypto"  --prefix=/usr/localmake make install

五、交叉编译 paho.mqtt.c ,需要先交叉编译 openssl

1.设置交叉编译环境。

2.修改makefile ,在129行添加如下,CFLAGS += -I后面的内容为openssl头文件目录,LDFLAGS += -L是编译出来的openssl库目录,需要根据实际情况设置。

# 修改makefile ,在129行添加如下, -I参数后面的内容为 交叉编译openssl库安装目录CFLAGS += -I./../openssl-1.1.0g/install/includeLDFLAGS += -L./../openssl-1.1.0g/install/lib#修改后执行make命令编译make

3.编译完成后,会在当前目录创建build目录,进入build目录,里面有一个output目录和一个版本头文件,output目录中存放着编译出来的库文件,examples和测试程序。

六、交叉编译 mosquitto

  1. 设置交叉编译环境。
  2. 修改源文件目录下的 config.mk文件。
    • WITH_TLS、WITH_TLS_PSK、WITH_SRV、WITH_UUID 、WITH_DOCS设置为 no
    • 在文件头部设置依赖的paho.mqtt.copenssl头文件和库目录,如下所示:
#  -I参数后面的内容为paho.mqtt.c库和openssl头文件目录,-L参数后面的内容为编译好的paho.mqtt.c库和openssl库目录 ,注意: 实际修改时需要不使用[]。CFLAGS += -I[paho.mqtt.c源代码目录下的src目录] -I[openssl头文件目录]LDFLAGS += -L[编译处的paho.mqtt.c库目录]    -L[编译出来的openssl库目录] -lssl -lcrypto

转载于:https://www.cnblogs.com/ay-a/p/10459065.html

你可能感兴趣的文章
十八.模块
查看>>
2017-7-27-关键20小时,快速习得任何技能
查看>>
SHELL日志分析 实例一
查看>>
闭包函数
查看>>
ZOJ Monthly, November 2012 - I - Search in the Wiki
查看>>
TextSwitcher,译为文字转换器控件
查看>>
C# 多线程编程(3):线程池ThreadPool
查看>>
Mac 使用技巧
查看>>
Whu 1603——Minimum Sum——————【单个元素贡献、滑窗】
查看>>
Windows下安装PHP扩展及资源下载地址(memcached为例)
查看>>
Node.js安装与配置 -- 收录
查看>>
前端项目-代码开发规范(个人整理版)
查看>>
Win下安装RabbitMQ的cookie问题
查看>>
从网络上获取图片并保存在sdCard上
查看>>
oracle 体系结构解析
查看>>
linux命令:du 命令
查看>>
(Python编程)Pickle对象
查看>>
Ordering Tasks
查看>>
20175212童皓桢 《Java程序设计》第一周学习
查看>>
git branch 分支与合并
查看>>