• 基于Ubuntu16.04的docker准备ZMQ的C++开发环境


    制作docker

    在当前目前准备 sources.list,用于更新源 ,内容如下

    vim /etc/apt/sources.list (本次使用的是阿里源)

    1. deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
    2. deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
    3. deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
    4. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
    5. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
    6. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
    7. deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
    8. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
    9. deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    10. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

    准备Dockerfile,内容如下:

    1. FROM ubuntu:16.04
    2. #定义构建的名称
    3. #ARG buildversion
    4. COPY ./sources.list /etc/apt/sources.list
    5. RUN echo 'Asia/Shanghai' >/etc/timezone \
    6. && apt-get update -y \
    7. && apt-get install vim tree zip unzip net-tools git doxygen man -y

    开始获取镜像,执行如下命令

    docker build -t ubuntu:16.04 .

    启动容器

    docker run -dit --privileged=true --network host --restart=on-failure --name=ubt16 -v $PWD:/test  ubuntu:16.04 sh -c 'sleep 36000000000 '

    进入容器
     

    docker exec -it ubt16 bash

    安装zmq的基础依赖

    默认安装头文件都在usr/local/include ,库文件都在:usr/local/lib

    apt-get install libtool pkg-config build-essential autoconf automake -y

    编译依赖加密库libsodium

    可以到https://github.com上下载,本次使用的是的libsodium-1.0.18版本(百度徍盘链接:https://pan.baidu.com/s/15jj8KRsEztHTK2g4iq8lwA 提取码:8888)

    1. unzip libsodium-1.0.18.zip
    2. cd libsodium
    3. mkdir develop
    4. ./autogen.sh
    5. ./configure --prefix=`pwd`/develop && make -j16 check
    6. make install
    7. ldconfig

    配置全局可用,如果编译libsodium时有配置--prefix选项,则需要设置环境变量,编辑/etc/profile文件,在末尾添加如下内容后执行source /etc/profile; ldconfig ;

    1. export LIBSODIUM_ROOT=/test/libsodium-1.0.18/develop/
    2. export LD_LIBRARY_PATH=$LIBSODIUM_ROOT/lib:$LD_LIBRARY_PATH
    3. export CPATH=$LIBSODIUM_ROOT/include:$CPATH
    4. export LIBRARY_PATH=$LIBSODIUM_ROOT/lib:$LIBRARY_PATH
    5. export PKG_CONFIG_PATH=$LIBSODIUM_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH

    编译zmq

    可以到https://github.com上下载,本次使用的是的libsodium-1.0.18版本(百度徍盘链接:链接:https://pan.baidu.com/s/1ydx-n8ZdjNcJaFChZQ0HpQ 提取码:8888)

    1. unzip zeromq4-x-4.0.10.zip
    2. cd zeromq4-x-4.0.10
    3. mkdir develop
    4. ./autogen.sh
    5. ./configure --prefix=`pwd`/develop && make -j16 check
    6. make install
    7. make installcheck

    配置全局可用,如果编译libsodium时有配置--prefix选项,则需要设置环境变量,编辑/etc/profile文件,在末尾添加如下内容后执行source /etc/profile; ldconfig ;

    1. export ZMQPP_ROOT=/test/zeromq4-x-4.0.10/develop
    2. export LD_LIBRARY_PATH=$ZMQPP_ROOT/lib:$LD_LIBRARY_PATH
    3. export CPATH=$ZMQPP_ROOT/include:$CPATH
    4. export LIBRARY_PATH=$ZMQPP_ROOT/lib:$LIBRARY_PATH
    5. export PKG_CONFIG_PATH=$ZMQPP_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH

  • 相关阅读:
    羽夏看Linux内核——环境搭建
    类型体操:探究 TypeScript 内置高级类型
    java Web的基本介绍
    60从零开始学Java之与数字相关的类有哪些?
    单片机入门:LED数码管
    解决warning: this statement may fall through [-Wimplicit-fallthrough=]
    ZYNQ从vitis生成linux系统编译启动文件
    竞赛python区块链实现 - proof of work工作量证明共识算法
    android列表下拉刷新上拉加载更多实现的几种文件组织方式
    查询 (Tcode)跳转ID方法:(SET PARAMETER ID)
  • 原文地址:https://blog.csdn.net/huangjiazhi_/article/details/126128315