【c++】c++ 编译链接成的可执行程序 执行时却表示无法找到某个或几个库

53 篇文章 0 订阅
26 篇文章 0 订阅

问题描述: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 91 19:01 /lib/libirc.so -> /usr/local/MATLAB/R2022a/sys/os/glnxa64/libirc.so
[root@localhost SPxBitmap]# 

服务器高级架构体系:https://ke.qq.com/course/417774?flowToken=1010783

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值