zoukankan      html  css  js  c++  java
  • 永远也记不住的linux环境变量,库文件,头文件,交叉编译...

    一、环境变量
    1、node-v4.9.1-linux-armv7l
    1)安装
    cp node-v4.9.1-linux-armv7l.tar.gz /usr/local/
    cd /usr/local/
    tar xvf node-v4.9.1-linux-armv7l.tar.gz

    2)添加环境变量
    export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin
    export LD_LIBRARY_PATH=/usr/local/node-v4.9.1-linux-armv7l/lib:$LD_LIBRARY_PATH
    添加到/etc/profile文件或者~/.bashrc文件
    vi /etc/profie
    export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin
    export LD_LIBRARY_PATH=/usr/local/node-v4.9.1-linux-armv7l/lib:$LD_LIBRARY_PATH
    source /etc/profile
    vi ~/.bashrc
    export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin
    source ~/.bashrc
    或者直接echo "export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin " >> ~/.bashrc

    二、交叉编译,库文件,头文件
    1、redis服务端
    1)redis编译
    wget http://download.redis.io/releases/redis-4.0.11.tar.gz
    tar xvf redis-4.0.11.tar.gz
    cd redis-4.0.11
    #make MALLOC=libc
    make MALLOC=Jemalloc
    make install PREFIX=/usr/local/redis
    sudo mkdir -p /usr/local/redis/etc
    sudo cp redis.conf /usr/local/redis/etc
    vi /etc/profile
    export PATH=$PATH:/usr/local/redis/bin
    source /etc/profile
    /usr/local/redis/redis-server /usr/local/redis/etc/redis.conf

    2)redis交叉编译
    tar xvf redis-4.0.11.tar.gz
    cd redis-4.0.11
    export CC=arm-linux-gnueabihf-gcc
    export CXX=arm-linux-gnueabihf-g++
    export LD=arm-linux-gnueabihf-ld
    export RAINLIB=arm-linux-gnueabihf-rainlib
    export AR=arm-linux-gnueabihf-ar
    export LINK=arm-linux-gnueabihf-g++
    #make MALLOC=libc
    make MALLOC=Jemalloc
    make install PREFIX=_install
    mkdir _install/etc
    sudo cp redis.conf _install/etc
    vi /etc/profile
    export PATH=$PATH:/usr/local/xxx/bin
    source /etc/profile
    ./redis-server /usr/local/xxx/redis/etc/redis.conf

    2、redis c语言客户端
    1)hiredis编译
    make
    make install PREFIX=_install
    gcc -o example example.c -I ./_install/include/hiredis -L ./_install/lib -lhiredis
    export LD_LIBRARY_PATH=/usr/local/hiredis/lib:$LD_LIBRARY_PATH
    ./example

    2)hiredis交叉编译
    export CC=arm-linux-gnueabihf-gcc
    export CXX=arm-linux-gnueabihf-g++
    export LD=arm-linux-gnueabihf-ld
    export RAINLIB=arm-linux-gnueabihf-rainlib
    export AR=arm-linux-gnueabihf-ar
    export LINK=arm-linux-gnueabihf-g++
    make
    make install PREFIX=_install
    arm-linux-gnueabihf-gcc -o example example.c -I ./_install/include/hiredis -L ./_install/lib -lhiredis
    export LD_LIBRARY_PATH=/usr/local/hiredis/lib:$LD_LIBRARY_PATH
    ./example

     -------------------------------------------------------------------------------------------------------------------------------

    3、pjsip移植

    1)alsa交叉编译

    export ARCH=arm
    export CROSS_COMPILE=arm-linux-gnueabihf
    tar xjvf alsa-lib-1.1.7.tar.bz2
    cd alsa-lib-1.1.7/
    ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc --prefix=/home/dong/alsa-lib-1.1.7/_install
    make
    make install

    2)pjsip交叉编译

    ./configure --prefix=/home/dong/pjproject-2.8/_install --host=arm-linux-gnueabihf CC=/usr/local/gcc-linaro-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --disable-libwebrtc CFLAGS=-I/home/dong/alsa-lib-1.1.7/_install/include LDFLAGS=-L/home/dong/alsa-lib-1.1.7/_install/lib

    make dep

    make

    make install

    pkg-config

    https://blog.csdn.net/newchenxf/article/details/51750239

    autogen.sh

    #!/bin/sh
    # Run this to generate all the initial makefiles, etc.
    
    set -e
    
    srcdir=`dirname $0`
    test -z "$srcdir" && srcdir=.
    
    DIE=0
    
    (test -f $srcdir/configure.ac) || {
        echo -n "**Error**: Directory $srcdir does not look like the"
        echo " top-level package directory"
        exit 1
    }
    
    (autoconf --version) < /dev/null > /dev/null 2>&1 || {
      echo
      echo "**Error**: You must have autoconf installed."
      echo "Download the appropriate package for your distribution,"
      echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
      DIE=1
    }
    
    (grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && {
      (libtool --version) < /dev/null > /dev/null 2>&1 || {
        echo
        echo "**Error**: You must have libtool installed."
        echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
        DIE=1
      }
    }
    
    (automake --version) < /dev/null > /dev/null 2>&1 || {
      echo
      echo "**Error**: You must have automake installed."
      echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
      DIE=1
      NO_AUTOMAKE=yes
    }
    
    
    # if no automake, don't bother testing for aclocal
    test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
      echo
      echo "**Error**: Missing aclocal.  The version of automake"
      echo "installed doesn't appear recent enough."
      echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
      DIE=1
    }
    
    if test "$DIE" -eq 1; then
      exit 1
    fi
    
    if test -z "$*"; then
      echo "**Warning**: I am going to run configure with no arguments."
      echo "If you wish to pass any to it, please specify them on the"
      echo $0 " command line."
      echo
    fi
    
    case $CC in
    xlc )
      am_opt=--include-deps;;
    esac
    
    aclocalinclude="$ACLOCAL_FLAGS"
    
    echo "Running libtoolize..."
    libtoolize --force --copy
    echo "Running gtkdocize..."
    gtkdocize
    echo "Running aclocal $aclocalinclude ..."
    aclocal $aclocalinclude
    echo "Running autoheader..."
    autoheader
    echo "Running automake --foreign -Wno-portability $am_opt ..."
    automake --add-missing --foreign -Wno-portability $am_opt
    echo "Running autoconf ..."
    autoconf
    
    conf_flags="--enable-maintainer-mode"
    
    if test x$NOCONFIGURE = x; then
      echo "Running $srcdir/configure $conf_flags $@ ..."
      $srcdir/configure $conf_flags "$@" 
      && echo "Now type make to compile." || exit 1
    else
      echo "Skipping configure process."
    fi

    # 2020年 06月 05日 星期五 15:58:19 CST
    # HuaWei LiteOS Linux, Cross-Toolchain PATH
    export PATH="/opt/hisi-linux/x86-arm/arm-himix100-linux/bin:$PATH"
    #

  • 相关阅读:
    Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)
    5分钟用Spring4 搭建一个REST WebService(转)
    一本好看的书————《反欺骗的艺术——世界传奇黑客的经历分享》
    国内外从事CV相关的企业
    定积分解法
    c++中&amp;和&amp;&amp;有什么差别
    树莓派相关-树莓派串口配置方法
    Linux下df与du两个命令的差别?
    veridata实验举例(2)验证表BONUS与表SALGRADE两节点同步情况
    Java替代C语言的可能性
  • 原文地址:https://www.cnblogs.com/dong1/p/9782096.html
Copyright © 2011-2022 走看看