zeromq arm linux,ZeroMQ在基于ARM和基于MIPS架构的平台下的使用

消息中间件和网络通信平台zmq相信大家都听说了,本文主要介绍zmq在arm 和mips 平台下是移植和使用情况。

CSM1201板子上可以使用的libzmq.so,以下是的编译过程

第一步:编译libuuid.a

编译成成libuuid.a的过程

这里找到了libuuid.a

在编译的过程中,我发现了很多问题,因为在编译ZeroMQ的库时,是需要uuid-dev的,所以还必须编译libuuid

在编译libuuid的过程中,我发现自己太不细心了,因为在创建libuuid库的时候,需要产生一个创建硬链接的操作,

而硬链接和软连接是不一样的,硬连接是指,在文件系统中本来就存在的一个文件,然后创建硬链接的操作相当于在内存中创建了一个到此文件的连接指针

所以将所有的文件拷贝到/home/xianlong目录中去,结果在sudo make 就可以了。

export PATH=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin:$PATH

./configure --enable-elf-shlibs --host=arm-linux cc=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-gcc --with-linker=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld --prefix=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux AR=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ar

sudo make

cd /lib/uuid

make install

第二步:编译libzmq

先使用命令

xianlong@ubuntu-hw-csm120x:/mnt/hgfs/tmplinuxfile/zeromq-2.1.7$ ./configure --host=arm-linux LDFLAGS=-L/home/xianlong/e2fsprogs-1.41.14/lib/ CC=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-gcc

然后make

你会发现出现以下错误

In file included from socket_base.cpp:50:

uuid.hpp:31:23: uuid/uuid.h: No such file or directory

In file included from socket_base.cpp:50:

uuid.hpp:92: error: using-declaration for non-member at class scope

uuid.hpp:92: error: expected `;' before "uuid"

make[2]: *** [libzmq_la-socket_base.lo] Error 1

make[2]: Leaving directory `/mnt/hgfs/tmplinuxfile/zeromq-2.1.7/src'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/mnt/hgfs/tmplinuxfile/zeromq-2.1.7/src'

make: *** [all-recursive] Error 1

这个地方与./configure的配置命令相关

遇到错误后,你可以将uuid.h拷贝到/mnt/hgfs/tmplinuxfile/zeromq-2.1.7/include$目录中

然后修改uuid.hpp以及uuid.h中的包含路径,这样就可以顺利编译通过了

最终编译的libzmq.so在/mnt/hgfs/tmplinuxfile/zeromq-2.1.7/src/.libs$

我会继续测试通过交叉编译的libzmq.so是否可以用于嵌入式播放机中,通过写简单的通信程序,如果能运行,那就说明是可以动手开始修改的

MIPS架构下的libzmq.so的编译过程

先编译基于MIPS的libuuid

mkdir -p /home/smp2/e2fsprogs-1.41.14/opt/uuiddirectory/

./configure --host=mipsel-linux --target=mipsel-linux --prefix=/home/smp2/e2fsprogs-1.41.14/opt/uuiddirectory/ CC=/home/smp2/mips-4.3/bin/mips-linux-gcc

cd /lib/uuid

make

sudo make install

第二步:编译libzmq

cd /mnt/hgfs/tmplinuxfile/zeromq-2.1.7

./configure --host=mipsel-linux LDFLAGS=-L/home/smp2/e2fsprogs-1.41.14/lib/uuid/ CC=/home/smp2/mips-4.3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值