libuv学习系列 - 安装
libuv 最新版本的 必须无法用gcc 4.4 安装,我是升级到 4.8后才能安装 libuv的
可以通过gcc -v 来查看 gcc的版本,如果需要升级可以参考 http://www.cnblogs.com/datacoding/p/7442763.html
开始安装
libuv官网:http://docs.libuv.org/en/v1.x/
wget https://dist.libuv.org/dist/v1.9.1/libuv-v1.9.1.tar.gz
tar -zxvf ./libuv-v1.9.1.tar.gz
cd libuv-v1.9.1
./autogen.sh
./configure
make
sudo make install
安装完毕。
遇到问题:
问题:error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory
解决:分析原因:ld提示找不到库文件,而库文件就在/usr/local/lib目录中,
链接器ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件在哪里。
方法1:
编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;
运行ldconfig,以更新/etc/ld.so.cache文件;
方法2:
在/etc/ld.so.conf.d/目录下新建任何以.conf为后缀的文件,在该文件中加入库文件所在的目录;
运行ldconfig,以更新/etc/ld.so.cache文件;
我的解决办法是:在./etc/ld.so.conf文件中添加了/usr/local/lib/
第二种办法更为方便,对于原系统的改动最小。因为/etc/ld.so.conf文件的内容是include /etc/ld.so.conf.d/*.conf
所以,在/etc/ld.so.conf.d/目录下加入的任何以.conf为后缀的文件都能被识别到。
问题:undefined reference to uv_loop_new
解决:gcc -o bin_file ./file_name -luv