是的我又来了!linux 静态编译程序,放在全新的linux机器上运行,报出的错误是找不到某个动态库?这是为什么?

xukun245 2018-05-24 03:32:45
用cmake写的,所有的链接库都是用的静态库链接的,但是把执行程序拿到一台新的机器上的时候运行的时候,报出错误找不到某个动态库?这是为什么,不是静态编译的吗?

这是我的cmake和报出的错误





...全文
526 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xukun245 2018-05-25
  • 打赏
  • 举报
回复
引用 4 楼 ckc 的回复:
应该是某些静态库使用了别的动态库 在目标机器上安装这个库就好了
这确实是这类问题的一个原因之一,我的这个问题我已经弄清楚了,因为我当时编译opencv的时候只有动态库,然后我是网上找的一个静态的库,版本跟我的不一样,所以最后导入库的时候,他只识别出了我自己编译的那个opencv的库,所以最后还是动态链接的,之前下载拷贝进来的静态库是无效的。自己重新编译静态库就行了
ckc 2018-05-25
  • 打赏
  • 举报
回复
应该是某些静态库使用了别的动态库 在目标机器上安装这个库就好了
xukun245 2018-05-24
  • 打赏
  • 举报
回复
。。。今天怎么不见赵4老师
xukun245 2018-05-24
  • 打赏
  • 举报
回复
难道我的静态库没用?? 但是本地已经编译成功了,把可执行文件拿到别人机器上的时候就会出现这种问题
xukun245 2018-05-24
  • 打赏
  • 举报
回复
哦对了,我ldd查看过了,确实是显示opencv的动态库not found ,但是我不解的是,我在cmake当中是用静态库链接的,为什么到了最后可执行文件会去找动态库呢

18,772

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧