标签:系统 注意 权限 路径 磁盘 步骤 tip 鸟哥的私房菜 https
在编译Ogre的时候make install出现了这个问题,这里发现我的libGL.so指向了libGL.so.1.0.0,这是怎么一回事呢?
搜索libGL.so文件路径: 比如,本机中路径为:/usr/lib/libGL.so
建立symlink: sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so (之所以链接到libGL.so.1而不是libGL.so可能是为了便于区分)
如果出现错误: ln: failed to create symbolic link ‘/usr/lib/x86_64-linux-gnu/libGL.so‘ : File exists
则删除已有链接: sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
重新执行步骤2建立symlink
--《鸟哥的私房菜》中提及:动态函数库在编译的时候,在程序里面只有一个“指向”(Pointer)的位置而已,也就是说,动态函数库的内容并没有被整合到可执行文件中,而是当可执行文件要使用到函数库的时候程序才会读取函数库来使用。由于可执行文件中仅仅具有指向动态函数库所在的指标而已,并不包含函数库的内容,所以它的文件比较小一点。以下摘自APUE:
-- 1.首先,我们必须在/etc/ld.so.conf
文件夹里面写下想要读入高速缓存当中的动态函数库所在的目录,注意是目录而不是文件。
2.接下来利用ldconfig这个可执行文件将/etc/ld.so.conf.d
的数据读入缓存中;
3.同时也将数据记录一份在/etc/ld.so.cache
这个文件当中。
Tips:可以使用ldconfig -p
指令查看函数库内容(ld.so.cache)
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块(见下图)。因此软链接的创建与使用没有类似硬链接的诸多限制:
No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so
标签:系统 注意 权限 路径 磁盘 步骤 tip 鸟哥的私房菜 https
原文地址:https://www.cnblogs.com/acewzj/p/11517538.html