编写的程序 ./SerialFlowTest
在普通用户下可以运行,但是因为要open串口,所以使用 sudo ./SerialFlowTest,结果此时会报错。
error while loading shared libraries: libcJSON.so.1: cannot open shared object file: No such file or directory
1.1程序使用QtCreator生成
1.2.程序目录如下:
2.在普通用户下可以执行
3.使用sudo却报错。
4.找资料时找到这个网页,
4.1 使用在sudo gedit /etc/ld.so.conf 文件中加入这个目录,就成功了。
4.2 但是 使用 export 的方式却不成功,修改 .bashrc的方式也不成功。
5.问题,请教一下:
5.1 既然在普通用户下可以执行,那为什么 sudo却不能执行,是有什么原理吗?
5.2 理解,既然链接库 与 执行程序都在同一个目录下,那应该能够正常执行才对啊?
5.3奇怪为什么 4.1可以成功,4.2却不能成功?
5.4奇怪,为什么另一个库libcomlib却不会报这个错误呢??
6.问题排查
6.1使用 ldd 命令查看程序涉及的链接库。普通用户下能够找到,使用sudo却找不到,为什么??
-------
我的积分好少啊,得赚啊