【发布时间】:2012-01-24 07:46:05
【问题描述】:
我使用 QtCreator 为 Linux 制作了一个应用程序。该应用程序使用两个外部库,qextserialport 和 qwt。我想部署应用程序,使其依赖的所有库都与可执行文件一起部署。
当我为 Windows 制作应用程序时,我只是将 .dll 文件复制到 app.exe 文件夹中,它就可以工作了。但是如何在 Linux 上做到这一点?
【问题讨论】:
标签: linux qt deployment
我使用 QtCreator 为 Linux 制作了一个应用程序。该应用程序使用两个外部库,qextserialport 和 qwt。我想部署应用程序,使其依赖的所有库都与可执行文件一起部署。
当我为 Windows 制作应用程序时,我只是将 .dll 文件复制到 app.exe 文件夹中,它就可以工作了。但是如何在 Linux 上做到这一点?
【问题讨论】:
标签: linux qt deployment
在 Linux 中,您可以:
1) 静态链接依赖项
或
2)windows风格打包依赖,设置环境变量LD_LIBRARY_PATH指向包含动态库的子目录
[更新]
阅读man ld,如果默认情况下未编译库的静态版本(look at this tutorial if you can't tell the difference),您可能必须编译它们。
synthesizerpatel 的精彩评论,如果库使用 autoconf(很多 linux 软件都这样做),它有 --enable-shared 和 --enable-static 之类的选项。
【讨论】: