繁体   English   中英

在linux上部署Qt项目

[英]Deploy a Qt project on linux

这可能是一个noob问题,但我一直在试图找出如何在linux上静态构建我的qt项目。 我试着在http://doc.qt.io/qt-5/linux-deployment.html上做了什么,但我不明白第一步。 当我cd到我的qt项目的位置并运行

cd /path/to/Qt
./configure -static -prefix /path/to/Qt <otherparameters>
make
它说没有这样的文件或目录。 我误解了需要使用的路径吗? 我想让我的qt项目成为一个独立的可执行文件,它不需要它所拥有的计算机有qt。 我已经阅读过关于动态链接库的内容,但我真的不知道如何处理它。 部署选项在qtcreator中显示为灰色,有没有办法使用它? 谢谢

/path/to/Qt应该是Qt源的路径,而不是你的项目的路径。 文档的这一部分是关于静态构建Qt,在尝试将应用程序静态链接到Qt之前必须执行此操作。 例如,如果您将源代码/克隆到/home/jxb458/qt5 ,那么您可以将/path/to/Qt替换为:

cd /home/jxb458/qt5
./configure -static -prefix /home/jxb458/qt5/qtbase
make

静态链接在工作时很棒,但它可能是一种努力 - 我特别在使用GUI时发现。 正如Mitch所说,你需要重新构建Qt源代码

当我在这里静态构建时,我做了一些注意事项: 关于静态构建的注释 (源自许多来源)它们至少应该指向正确的方向 - 你可以忽略关于安装Ubuntu的部分 - 注意假设一个新安装。

但是我最近又回到了动态链接部署,因为我觉得这是一种更好的部署方式。 您不需要在目标机器上安装Qt,只需要收集qt dll并将其与您的应用程序一起复制(使用ldd executable-name生成您需要的dll列表 - 但只需使用Qt而不是系统/通用的)。 对于插件,你需要做更多(但它相当简单)。 我甚至写了一个bash脚本自动执行此操作(如果需要,我会发送给你),在windows中有一个名为windeployqt的qt脚本(不知道为什么没有linux变种)。

如果我再次开始研究部署,我会选择动态链接。 也许尝试一个简单的项目开始(像一个hello world proj)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM