红联Linux门户
Linux帮助

linux下libuv库安装教程

发布时间:2016-10-16 11:13:40来源:linux网站作者:drfxiaoliuzi
linux下libuv库安装教程
 
下载并编译libuv
libuv需要自己手动下载源码,并手动编译。
当前目录为:/home/xlz/test/github,在后面,会用$PATH来代替,我的系统的Debian8,64bit.
$git clone https://github.com/libuv/libuv.git
即可下载到libuv源码
然后$cd libuv 进入到libuv源码目录下,准备编译。
依次运行如下命令:
$ sh autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
 
备注:
如果提示缺少一些库,请自行安装,apt-get install packagename
如,我运行autogen.sh的时候,就提示缺少automake,libtoolize库:
xlz@debian:~/test/github/libuv$ sh autogen.sh
autogen.sh: 1: autogen.sh: automake: not found
autogen.sh: 33: test: Illegal number:
autogen.sh: 34: test: Illegal number:
libtoolize --copy
autogen.sh: 43: autogen.sh: libtoolize: not found
运行如下命令,手动安装,即可:
$ sudo apt-get install automake
$ sudo apt-get install libtool
 
编写测试代码:
在$PATH下新建test.c
/*
* test.c
* empty msg loop
* 这个例子新建了一个消息队列,但队列里没有任何消息,程序直接退出
* Created on 2016/10/16
*/
#include <stdio.h>
#include <stdlib.h>
#include "include/uv.h"
int main(char argc, char *argv[])
{
uv_loop_t *loop = uv_loop_new();  // 可以理解为新建一个消息队列
uv_run(loop, UV_RUN_DEFAULT);     // 启动消息队列,UV_RUN_DEFAULT模式下,当消息数为0时,就会退出消息循环。
printf("hello, world\n");
return 0;
}
 
编译及链接:
在$PATH下,命令行执行如下命令,如果当前文件夹下没有build目录,就请先创建一个build目录
$gcc -c xlz_test.c -o xlz_build/xlz_test.o
$gcc -lpthread -o xlz_test xlz_build/xlz_test.o /usr/local/lib/libuv.a
上面第二条编译,连接libuv.a库的时候,我的是在这个目录下,因为我的系统都是Debian 8, 64bit,可能不同的系统位置是不同的,有的人可能在/usr/lib64/下或者其他目录下,请自行定位。
 
执行程序
如果前面没有错误的话,你会在$PATH下得到可执行程序文件test,在命令行下执行./xlz_test就可以得到如下结果了。
hello world
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25096.html