交叉编译HP-SOCKET

HP-SOCKET是一个开源的、通用的高性能TCP/UDP/HTTP 通信框架吗,而且提供很多编程语言的接口。近期做ARM平台的开发,需要用到UDP及TCP的通信,因此选了HP-SOCKET框架。下面是其交叉编译的过程。
由于HP-SOCKET依赖于zlib和openssl,因此需要先对这两个库进行交叉编译。


1、交叉编译zlib
首先下载zlib-1.2.11.tar.gz,这个网上教程有很多,因此不再赘述。
1.mkdir install
2.export CC=aarch64-himix200-linux-gcc
3…/configure --prefix=$(pwd)/install
4.make
5.make install

注意:需要将交叉编译工具换成自己平台的。
编译好的库会放在install文件夹里面。包括include、lib和share三个文件夹。


2、交叉编译opensll
网上很多人说编译的时候要修改makefile,后面查找了很多资料,有一个修改configure的方法,如下:(openssl早期版本需要通过–cross-compile-prefix=aarch64-himix200-linux-指定了命令前缀)
1、mkdir install
2、./Configure linux-generic64 no-asm shared no-async --prefix=$(pwd)/install/ CROSS_COMPILE=aarch64-himix200-linux- CC=gcc
3、make
4、make install

注意如果平台是32位的,需要改为linux-generic32,另外需要将交叉编译工具换成自己平台的。
编译好的库会放在install下的lib文件夹里面。


3、将编译好的库拷贝到HP-SOCKET文件夹中
我用的是hp-socket-5.7.1,下载方式也不再赘述。
首先在/hp-socket-5.7.1/Linux/dependent/路径下创建一个名为ARM的文件夹,然后在里面创建include和lib文件夹。
之后将zlib和openssl拷贝过来,只需要拷贝头文件和库。如下图所示
ARM文件夹下有include和lib两个文件夹
include文件夹中有如下文件include文件
注意openssl的头文件需要连文件夹一起拷贝

lib文件夹中有如下文件lib文件
lib文件夹里面应该有没用的文件,不过我这边没试,各位有时间可以自己测试一下。


4、交叉编译hp-socket
命令如下:./compile.sh -c aarch64-himix200-linux-g++ -p arm64
注意:需要将交叉编译工具换成自己平台的。
编译完成后,生成的库在/hp-socket-5.7.1/Linux/lib/hpsocket/ARM中
5、hp-socket使用
使用时将hp-socket库拷贝到程序的相应位置,另外还需要拷贝依赖库。然后
export LD_LIBRARY_PATH=" /写入库的地址/"

以上就是hp-socket的编译过程,其中或许有些问题或疏漏,欢迎交流讨论。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值