zoukankan      html  css  js  c++  java
  • 交叉编译zeromq以及go交叉编译cgo依赖

    交叉编译zeromq,并编译go可执行文件

    交叉编译libsodium

    ./configure --host=aarch64-himix100-linux --prefix=/home/udsafe/ && make && make install

    交叉编译libzmq

    ./configure --host=aarch64-himix100-linux --prefix=/home/udsafe/ && make && make install

    交叉编译libuuid

    ./configure --host=aarch64-himix100-linux --prefix=/home/udsafe/ && make && make install

    交叉编译czmq (需要uuid则先编译下uuid)

    ./configure --host=aarch64-himix100-linux --prefix=/usr/local/udsafe libzmq_CFLAGS='-I/usr/local/udsafe/include' libzmq_LIBS='-L/usr/local/udsafe/lib -lzmq -L/opt/hisi-linux/x86-arm/aarch64-himix100-linux/aarch64-linux-gnu/lib64 -lstdc++'
    
    make check
    
    此时会有报错信息,不用处理,重新make一下即可
    
    cd src/.libs
    
    cp ../libczmq.la libczmq.lai
    
    make install
    
    编译完成
    
    交叉编译libpcap
    
    ./configure --host=aarch64-himix100-linux --prefix=/home/udsafe/ && make && make install
    

      

    交叉编译go环境

    去git拉取go编译环境放置/usr/local/go

    在交叉编译环境导入环境变量
    
    export PATH="/usr/local/go/bin:/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin:$PATH"
    
    导入国内代理
    
    export GO111MODULE=on
    
    export GOPROXY=https://goproxy.cn
    
     
    

      

    创建go编译目录
    
    mkdir -p /home/dkth/src/github.com
    
    临时修改gopath路径
    
    export GOPATH="/home/dkth"
    
    将编译的项目放到/home/dkth/src下
    
    dkth_check_environment (是个目录)
    
    mv dkth_check_environment /home/dkth/src
    root@ubuntu-VirtualBox:/home/dkth/src# tree dkth_check_environment 
    dkth_check_environment
    ├── check
    │   ├── minio.go
    │   ├── mqtt.go
    │   └── zmq.go
    ├── dkth_check_environment (编译出来的可执行文件)
    ├── go.mod
    ├── go.sum
    └── main.go
    
    交叉编译需要zeromq 的cgo程序
    
     PKG_CONFIG_PATH=/home/udsafe/lib/pkgconfig/ CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-himix100-linux-gcc CGO_CFLAGS=-I/home/udsafe/include CGO_LDFLAGS="-L/home/udsafe/lib -L/opt/hisi-linux/x86-arm/aarch64-himix100-linux/aarch64-linux-gnu/lib64 -lstdc++ -luuid" go build
    
    编译完成会多出一个dkth_check_environment 可执行文件,在arm环境下执行验证即可
    
    ./dkth_check_environment 
    

      

    交叉编译libpcap go测试代码tcp抓包与创建sqlite.db

    mv dkth_test /home/dkth/src
    
    cd /home/dkth/src/
    
    root@ubuntu-VirtualBox:/home/dkth/src# tree dkth_test/
    dkth_test/
    ├── go.mod
    ├── go.sum
    └── main.go
    
    CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-himix100-linux-gcc CGO_CFLAGS='-I/home/udsafe/include' CGO_LDFLAGS='-L/home/udsafe/lib' go build
    
    编译完成多出一个可执行文件,arm环境测试验证即可
    

      

  • 相关阅读:
    win8 app scrollviewer ZoomMode
    win8 metro app 不支持 trigger
    WinRT Convert Stream to BitmapImage
    Java深度历险(二)——Java类的加载、链接和初始化(收藏)
    简单的触发器实现
    Java深度历险(一)——Java字节代码的操纵(收藏)
    借用网上大神的一些知识,html5 video 视频播放都兼容(Android,iOS,电脑)
    还原或删除sql server 2008数据库时,经常烩出现: “因为数据库正在使用,所以无法获得对数据库的独占访问权”,终解决方案
    调研《构建之法》指导下的历届作品
    Hibernate 学习笔记一
  • 原文地址:https://www.cnblogs.com/lyh0301/p/14029166.html
Copyright © 2011-2022 走看看