问题描述:
c++ 程序已经完成了编译链接,但是在执行时,提醒说某个 库 地址找不到,无法启动进程服务。
使用 ldd 命令 查看执行程序 可以看到 存在 某个库 显示 not find
解决方式:
告诉 操作系统 在哪里加载对应的库,
在 /etc/ld.so.conf 中 写明 需要操作系统加载的库文件所在的文件夹的路径
使用 ldconfig 重新加载 库链接 地址到 /usr/lib 中。
之后再次 使用 ldd 查看 ,已经找到了全部库连接地址了
[root@localhost SPxBitmap]# ldd spxbitmap linux-vdso.so.1 => (0x00007ffd51b60000) libc.so.6 => /lib64/libc.so.6 (0x00007fef246eb000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fef24b45000) librt.so.1 => /lib64/librt.so.1 (0x00007fef244e3000) libz.so.1 => /lib64/libz.so.1 (0x00007fef242cd000) libm.so.6 => /lib64/libm.so.6 (0x00007fef23fcb000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fef23daf000) libirc.so => /lib/libirc.so (0x00007fef23b37000) # 上面的动态库是此前显示 not find 的。 # 并且,这个库存在的地方并不是这个地方。查看后,明确这里使用的是软链接。 libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fef23921000) /lib64/ld-linux-x86-64.so.2 (0x00007fef24ab9000) [root@localhost SPxBitmap]# [root@localhost SPxBitmap]# ll /lib/libirc.so lrwxrwxrwx. 1 root root 49 9月 1 19:01 /lib/libirc.so -> /usr/local/MATLAB/R2022a/sys/os/glnxa64/libirc.so [root@localhost SPxBitmap]#
服务器高级架构体系:https://xxetb.xet.tech/s/4DEnTI