尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Qt项目查找依赖库打包

Qt项目查找依赖库打包
📅 发布时间:2026/7/19 10:34:15

如果你是用CMake + Qt(或者其他库)编译好可执行文件,
发布之前需要做两件事:

  1. 查找程序依赖的动态库(.dll / .so / .dylib)
  2. 打包到一起(确保在目标机器上能直接运行)

1️⃣ 查找依赖库

Windows

  • 工具

    1. windeployqt(Qt 自带)

      windeployqt myapp.exe#或带参数windeployqt--release--qmldirsrc Release\myapp.exe
      • 自动把 Qt 运行时 DLL、插件、QML 模块复制到程序目录
      • 适合 Qt 项目
    2. dumpbin(VS 自带)

      dumpbin /DEPENDENTS myapp.exe
    3. Dependencies(第三方 GUI 工具)
      类似Dependency Walker,可以直观看到依赖树
      下载:https://github.com/lucasg/Dependencies


Linux

  • 工具

    1. ldd

      ldd myapp

      输出:

      libQt6Core.so.6 => /usr/lib/libQt6Core.so.6 libstdc++.so.6 => /usr/lib/libstdc++.so.6 ...
    2. lddtree(来自pax-utils包)
      递归查看依赖:

      lddtree myapp
    3. objdump -p

      objdump-pmyapp|grepNEEDED

macOS

  • 工具

    1. otool -L

      otool-Lmyapp
    2. Qt 专用

      macdeployqt myapp.app

      会自动复制 Qt 库、修正.app内的依赖路径


2️⃣ 打包发布

Qt 项目

  • Windows

    windeployqt myapp.exe

    会把所有 Qt DLL、插件、QML 文件放到和 exe 同目录。

  • Linux

    • 用linuxdeployqt:

      linuxdeployqt myapp-appimage

      甚至可以直接打包成 AppImage

    • 或者自己复制依赖.so到一个lib/目录,并修改rpath:

      patchelf --set-rpath'$ORIGIN/lib'myapp
  • macOS

    macdeployqt myapp.app

3️⃣ 发布目录结构示例(Windows)

myapp/ ├── myapp.exe ├── Qt6Core.dll ├── Qt6Widgets.dll ├── Qt6Gui.dll ├── platforms/ │ └── qwindows.dll ├── styles/ │ └── qwindowsvistastyle.dll ├── plugins/ │ └── imageformats/ │ ├── qjpeg.dll │ └── qpng.dll └── ...

💡经验建议:

  • Qt 项目优先用windeployqt/macdeployqt/linuxdeployqt,省心。
  • 非 Qt 项目就用ldd/otool/dumpbin/Dependencies先找依赖,然后自己复制过去。
  • 如果要发给不装 Qt 的用户,一定要带上 Qt 的 DLL / SO / dylib。
  • Windows 发布时,记得检查MSVC 运行库是否打包(vcruntime140.dll等)。

相关新闻

  • Zotero PDF Translate:科研工作者的多语言文献翻译解决方案
  • LibTorch入门指南:C++中部署PyTorch模型的环境配置与实战
  • Unipacker与其他解包工具对比:何时选择哪个工具的决策指南

最新新闻

  • 如何构建5万并发GB28181视频监控平台:wvp-GB28181-pro架构完全指南
  • LangGraph 上手容易,为何你的 Agent 上线即崩?权限与日志才是生死线
  • EasyPoi 完全指南:Java 办公文档处理的优雅之选
  • 五分钟搭建企业级国标视频监控平台:WVP-GB28181-Pro完全指南
  • Kimera-Semantics 与Kimera-VIO集成:完整的视觉惯性语义SLAM系统搭建指南
  • data-analyst-roadmap项目解析:如何贡献和完善开源数据分析师学习资源

日新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号