永远也记不住的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
永远也记不住的linux环境变量,库文件,头文件,交叉编译...的更多相关文章
- GCC 环境变量 & eclipse CDT 头文件配置
转:http://blog.csdn.net/statdm/article/details/7751000 GCC 环境变量 & eclipse CDT 头文件配置 在unix 下使用e ...
- linux 编译指定库、头文件的路径问题(转)
1. 为什么会出现undefined reference to 'xxxxx'错误? 首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得 ...
- Linux环境变量具体解释
设置环境变量 profile和bashrc文件 /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件.此文件为系统的每一个用户设置环境信息,当用户第一次登录时,该文件被运行. 并 ...
- linux环境变量的设置
linux中环境变量分为系统环境变量和用户环境变量(和window中一样),系统环境变量对所有系统用户都有效,用户环境变量只对当前用户有效,我们以ubuntu为例说明 用户环境变量 用户环境变量通常存 ...
- 三种配置linux环境变量的方法(以java为例)
1.先确认是否为openjdk:参考 2. 修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性 ...
- linux环境变量LD_LIBRARY_PATH
LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下: LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径 ...
- Linux 学习笔记 Linux环境变量初稿
set命令会显示为某个特定进程设置的所有环境变量,但不包括一些没有设置值的默认环境变量 可以通过等号来给环境变量赋值,值可以是数值或字符串 如果要给变量赋一个含有空格的字符串值,必需用单引号来界定字符 ...
- Linux 环境变量和source命令 (转)
可能是班门弄斧了,仅share给尚不知道的童鞋. 1. 问题的来源: 为什么我们编译Android代码时,需要输入: source ./build/envsetup.sh 或者 . . ...
- linux环境变量入门
一.概要 本文用java环境变量配置这个案例来介绍linux下的环境变量是怎样的,并且和windows系统下的环境变量语法进行了相应对比,适合初学者入门.在这之前,我已经将jdk.tomcat和ecl ...
随机推荐
- Memcache内存分配策略
一.Memcache内存分配机制 关于这个机制网上有很多解释的,我个人的总结如下. Page为内存分配的最小单位. Memcached的内存分配以page为单位,默认情况下一个page是1M,可以通过 ...
- Maple重点知识总结
Maple中的evalf与evalhf evalf 可作用于单值 可作用于List 可作用于Set 可作用于Vector(<..>) 可作用于Matrix(<..|..|..> ...
- Linux - Ubuntu开启SSH服务
SSH分客户端openssh-client和openssh-server. 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt- ...
- 关于javascript遍历对象
1:遍历对象属性var obj={a:'aa',b:'bb'} for(var i in obj) { alert(i); //输出 a b } var obj={'a':'aa','b':'bb'} ...
- 003Maven_Maven核心概念
Maven核心概念 Maven插件 Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的每个插件都能实现多个功能,每个功能就是一个插件目标 Maven的生命周期与插件目标相互绑定,以 ...
- 邂逅明下(巴什博弈+hdu2897)
H - 邂逅明下 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- ThinkPHP项目笔记之RBAC(权限相关视频讲解篇
感谢互联网,只要你愿意找,没有找不到的免费资源 网址:http://www.studyfox.cn/143.html
- python定义函数时的默认返回值
python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None 执行如下代码 def now(): prin ...
- 系统管理模块_部门管理_改进_抽取添加与修改JSP页面中的公共代码_在显示层抽取BaseAction_合并Service层与Dao层
系统管理模块_部门管理_改进1:抽取添加与修改JSP页面中的公共代码 commons.jspf <%@ page language="java" import="j ...
- THINKPHP5判断当前浏览器请求方式
作用 代码 是否为 GET 请求 if (Request::instance()->isGet()) 是否为 POST 请求 if (Request::instance()->isPost ...