You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下编译FileZilla后二进制文件找不到libwx_gtk3u_html-3.2.so.0且无需LD_LIBRARY_PATH运行的问题求助

Linux下编译FileZilla后二进制文件找不到libwx_gtk3u_html-3.2.so.0且无需LD_LIBRARY_PATH运行的问题求助

我现在在Linux上编译FileZilla,想让编译好的二进制文件不用手动设置LD_LIBRARY_PATH这种临时hack手段,就能直接正常运行。目前我的目录结构如下:

FileZilla3
├── bin
│   ├── filezilla
│   ├── fzputtygen
│   ├── fzsftp
│   └── fzstorj
└── lib
    ├── libfilezilla.so.45
    ├── libfzclient-commonui-private-3.67.1.so
    ├── libfzclient-private-3.67.1.so
    ├── libgmp.so.10
    ├── libgnutls.so.30
    ├── libhogweed.so.6
    ├── libnettle.so.8
    ├── libsqlite3.so.0
    ├── libwx_baseu-3.2.so.0
    ├── libwx_baseu_xml-3.2.so.0
    ├── libwx_gtk3u_aui-3.2.so.0
    ├── libwx_gtk3u_core-3.2.so.0
    ├── libwx_gtk3u_html-3.2.so.0
    └── libwx_gtk3u_xrc-3.2.so.0

我一直在通过eu-readelf -d filezilla的输出,把二进制依赖的共享库逐个放到lib目录里,这个命令的部分输出如下:

$ eu-readelf -d filezilla

Dynamic segment contains 47 entries:
 Addr: 0x00000000004ed2d0  Offset: 0x4ec2d0  Link to section: [36] '.dynstr'
  Type              Value
  NEEDED            Shared library: [lib...

可现在的问题是,哪怕我把NEEDED列表里的所有库都放到了同级的lib目录里,运行bin/filezilla时还是会提示找不到像libwx_gtk3u_html-3.2.so.0这类明明已经存在的依赖库。我不想每次运行都要先手动设置LD_LIBRARY_PATH,有没有什么靠谱的方法能让二进制文件默认就去同级的lib目录查找依赖呢?

备注:内容来源于stack exchange,提问作者Jez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:27:58