[linux] tmux安装

tmux安装

对linux不熟的结果就是安装个软件安了3个小时。
梳理一下遇到的坑吧。
tmux在安装的时候需要依赖libevent和ncurses两个库文件,官网下载提前准备好。

libevent & ncurses

两个库的执行命令是相同的。在没有权限的前提下,基本上都是这样安装的。(先安装ncurses)

cd (libevent or ncurses folder)
./configure --prefix=/your path/   
make && make install 

tmux

cd tmux-folder
CFLAGS="-I/usr/local/libevent/include -I/usr/local/ncurses/include" LDFLAGS="-L/usr/local/libevent/lib -L/usr/local/ncurses/lib" ./configure --prefix=/usr/local/tmux  
make && make install

CFLAGS:表示用于C编译器的选项,CXXFLAGS表示用于 C++ 编译器的选项。
这两个变量实际上涵盖了编译和汇编两个步骤。

CFLAGS:指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该变量中来。

LDFLAGS:gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLAGS=-L/usr/lib -L/path/to/your/lib。每安装一个包都几乎一定的会在安装目录里建立一个lib目录。如果明明安装了某个包,而安装另一个包时,它愣是说找不到,可以将那个包的lib路径加入的LDFALGS中试一下。

LIBS:告诉链接器要链接哪些库文件,如LIBS = -lpthread -liconv

简单地说,LDFLAGS是告诉链接器从哪里寻找库文件,而LIBS是告诉链接器要链接哪些库文件。不过使用时链接阶段这两个参数都会加上,所以你即使将这两个的值互换,也没有问题。

至此,tmux算是安装完成了,在shell中运行下tmux是不是有惊喜了???
至于这玩意怎么用,我也不知道啊!!!学习学习。。。。
毕竟能省去每次起程序的nohup呢!!!

我的坑:
在安装两个依赖库的时候,直接安装到了相同的目录下,然后在安装tmux的时候,libevent & ncurses这两个轮流找不到。原因就是CFLAGSLDFLAGS操作包含的路径只是单层的,而ncurses库的head文件在第二层,索引不到,就一直出问题。解决办法就是把第二层路径也加入进去,就解决了!

Reference

tmux官方
libevent官方
tmux安装
Makefile选项CFLAGS,LDFLAGS,LIBS
http://bbs.csdn.net/topics/330056647

原文地址:https://www.cnblogs.com/zhanxiage1994/p/7493011.html