报错libtest: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory

时间:2021-05-20 23:37:43

使用g++编译、运行libuv的demo错误解决

我们通过例子来讲述监视器的使用. 例子中空转监视器回调函数被不断地重复调用,  通过例子我们也可以了解到:

由于设置了监视器, 所以调用 uv_run() 是程序会阻塞, 空转监视器将会在计数器达到设定的值时停止(监视), uv_run() 会退出因为此时程序中没有活动的监视器了.

测试代码如下

 #include <stdio.h>
#include <uv.h> int64_t counter = ; static void wait_for_a_while(uv_idle_t* handle) {
counter++; if (counter >= 10e6)
uv_idle_stop(handle);
} int main() {
uv_idle_t idler;
uv_idle_init(uv_default_loop(), &idler);
uv_idle_start(&idler, wait_for_a_while); printf("Idling...\n");
uv_run(uv_default_loop(), UV_RUN_DEFAULT); return ;
}

g++ -c libuv_test.c  //生成libuv_test.o文件

g++ -o libuvtest libuv_test.o  /usr/local/bin/libuv.so  生成目标文件要包含libuv.so库,这里需要全路径,因为我们用到了它里面的函数。

chmod 755 libtest  //赋予执行权限

./libtest

报错libtest: 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为后缀的文件都能被识别到

ld.so.cache的更新是递增式的,就像PATH系统环境变量一样,不是从头重新建立,而是向上累加。

除非重新开机,才是从零开始建立ld.so.cache文件。

报错libtest: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory的更多相关文章

  1. 运行 puppeteer 报错 chrome&colon; error while loading shared libraries&colon; libpangocairo-1&period;0&period;so&period;0&colon; cannot open shared object file&colon; No such file or directory

    运行 puppeteer 报错 chrome: error while loading shared libraries: libpangocairo-1.0.so.0: cannot open sh ...

  2. linux下报错:error while loading shared libraries

    linux执行bin程序报: error while loading shared libraries:libncurses.so.5: cannot open shared object file: ...

  3. 解决ffmpeg执行报错&OpenCurlyDoubleQuote;ffmpeg&colon; error while loading shared libraries&colon; libavdevice&period;so&period;58&colon; cannot open shared object file&colon; No such file or directory”的问题

    问题现象: 执行ffmpeg命令后报错: ffmpeg: error : cannot open shared object file: No such file or directory 出问题的环 ...

  4. java 罕见的依赖报错 jstat&colon; error while loading shared libraries&colon; libjli&period;so&colon; cannot open shared object file&colon; No such file or directory

    java 都用了N长时间了,突然,意外地发现有一个依赖的so文件从来没找见过 # ldd /usr/bin/java linux-vdso.so.1 =>  (0x00007fffba76900 ...

  5. imod报错:error while loading shared libraries&colon; libjpeg&period;so&period;62的解决办法

    the file libjpeg.so.62(in /usr/lib/libjpeg.so.62)belongs to the package libjpeg62so try to reinstall ...

  6. nginx排错error while loading shared libraries&colon;libpcre&period;so&period;1&colon;cannot open shared object file&colon;No such file or directory

    启动nginx报错:error while loading shared libraries:libpcre.so.1:cannot open shared object file:No such f ...

  7. 使用arm-none-eabi-gdb报错error while loading shared libraries&colon; libncurses&period;so&period;5&colon; cannot open shared object file&colon; No such file or directory

    使用arm-none-eabi-gdb报错error while loading shared libraries: libncurses.so.5: cannot open shared objec ...

  8. 报错:&sol;application&sol;zabbix&sol;sbin&sol;zabbix&lowbar;server&colon; error while loading shared libraries&colon; libmysqlclient&period;so&period;18&colon; cannot open shared object file&colon; No such file or directory

    启动zabbix_server时报错: /application/zabbix/sbin/zabbix_server: error while loading shared libraries: li ...

  9. nginx检查报错 error while loading shared libraries&colon; libprofiler&period;so&period;0&colon; cannot open shared object file&colon; No such file or directory

    在centos7.3上编译安装nginx-1.12.2 启动测试出错 [root@web02 local]# /usr/local/nginx/sbin/nginx -t /usr/local/ngi ...

随机推荐

  1. JavaScript高级编程 &lpar;2&rpar; - HTML 与 JavaScript

    向HTML 页面中插入JavaScript 的主要方法,就是使用<script>元素.这个元素由Netscape 创造并在Netscape Navigator 2 中首先实现.后来,这个元 ...

  2. maven中下载jar包源码和javadoc

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  3. POJ 1519 Digital Roots

    题意:求数根. 解法:一个数的数根就是mod9的值,0换成9,只是没想到给的是一个大数……只好先把每位都加起来再mod9…… 代码: #include<stdio.h> #include& ...

  4. hand第四次考核

    使用Spring与Mybatis技术实现下要求: (2分)1,Spring的配置文件名称为ApplicationContext.xml (2分)2,在ApplicationContext.xml中配置 ...

  5. HDU 4612 (13年多校第二场1002)无向图缩点,有重边

    这道题是多校的题,比赛的时候是一道纷纷水过的板刷题. 题意:给你一些无向边,只加一条边,使该图的桥最少,然后输出最少的桥. 思路:当时大致想到思路了,就是缩点之后找出最长的链,然后用总的桥数减去链上的 ...

  6. java调用oracle存储过程,返回结果集

    package com.srie.db.pro; import java.sql.CallableStatement; import java.sql.Connection; import java. ...

  7. 打印二叉堆&lpar;Java实现&rpar;

    打印二叉堆:利用层级关系 我这里是先将堆排序,然后在sort里执行了打印堆的方法printAsTree() public class MaxHeap<T extends Comparable&l ...

  8. 爬虫(scrapy第一篇)

    ---------------------------------------------------------------------------------------------------- ...

  9. salt软件远程控制服务器

    1.salt安装服务器环境 准备2台机器 192.168.11.250 master端(主人) 192.168.11.167 minion端 (奴隶 ) 2.两台机器配置hosts文件,用于加速域名解 ...

  10. jQuery实现广告弹窗

    首先设置一个固定的窗口位于右下角,效果如下: 代码: jQuery实现广告弹窗.html 之后将该窗口初始设为隐藏,通过代码实现3秒自动显示,5秒自动隐藏,其效果如下: <!DOCTYPE ht ...