0

我正在使用 Qt 5.10.1 创建一个 Web 浏览器,我想使用 Qt Installer Framework 将其导出。我正在寻找一种方法来了解我的应用程序必须将它们与二进制文件一起导出的所有依赖项(库、插件...)。我已经将 ldd 用于库,但我不知道如何处理插件。

谢谢你的帮助。

当我使用 linuxdeployqt 时,它似乎可以工作,但是当我运行程序时,我得到了

QML debugging is enabled. Only use this in a safe environment.
QApplication: invalid style override passed, ignoring it.
Could not find QtWebEngineProcess
[22299:22299:0328/184840.249157:FATAL:zygote_host_impl_linux.cc(182)] Check failed: ReceiveFixedMessage(fds[0], kZygoteBootMessage, sizeof(kZygoteBootMessage), &boot_pid). 
#0 0x7f2a8ffd60a5 <unknown>
#1 0x7f2a8ffebeca <unknown>
#2 0x7f2a8f62efc3 <unknown>
#3 0x7f2a8f62dc3b <unknown>
#4 0x7f2a8f62e219 <unknown>
#5 0x7f2a8f27193a <unknown>
#6 0x7f2a8f276e76 <unknown>
#7 0x7f2a8ed94600 <unknown>
#8 0x7f2a8ed95b25 <unknown>
#9 0x7f2a8ed84ee9 <unknown>
#10 0x7f2a8ed850be QtWebEngineCore::WebContentsAdapter::WebContentsAdapter()
#11 0x7f2a973fa441 <unknown>
#12 0x7f2a973faf24 QWebEnginePage::QWebEnginePage()
#13 0x7f2a97408ebb QWebEngineView::page()
#14 0x7f2a97409179 QWebEngineView::settings()
#15 0x00000040861f WebPage::WebPage()
#16 0x0000004079d6 MainWindow::addTab()
#17 0x0000004075c9 MainWindow::MainWindow()
#18 0x000000408441 Launcher::Launcher()
#19 0x000000406519 main
#20 0x7f2a94cdb830 __libc_start_main
#21 0x000000406419 _start

Received signal 6
#0 0x7f2a8ffd60a5 <unknown>
#1 0x7f2a8ed17141 <unknown>
#2 0x7f2a8ffd643d <unknown>
#3 0x7f2a94cf04b0 <unknown>
#4 0x7f2a94cf0428 gsignal
#5 0x7f2a94cf202a abort
#6 0x7f2a8ffd5dc5 <unknown>
#7 0x7f2a8ffec1ed <unknown>
#8 0x7f2a8f62efc3 <unknown>
#9 0x7f2a8f62dc3b <unknown>
#10 0x7f2a8f62e219 <unknown>
#11 0x7f2a8f27193a <unknown>
#12 0x7f2a8f276e76 <unknown>
#13 0x7f2a8ed94600 <unknown>
#14 0x7f2a8ed95b25 <unknown>
#15 0x7f2a8ed84ee9 <unknown>
#16 0x7f2a8ed850be QtWebEngineCore::WebContentsAdapter::WebContentsAdapter()
#17 0x7f2a973fa441 <unknown>
#18 0x7f2a973faf24 QWebEnginePage::QWebEnginePage()
#19 0x7f2a97408ebb QWebEngineView::page()
#20 0x7f2a97409179 QWebEngineView::settings()
#21 0x00000040861f WebPage::WebPage()
#22 0x0000004079d6 MainWindow::addTab()
#23 0x0000004075c9 MainWindow::MainWindow()
#24 0x000000408441 Launcher::Launcher()
#25 0x000000406519 main
#26 0x7f2a94cdb830 __libc_start_main
#27 0x000000406419 _start
  r8: ffff80005d51c978  r9: ffff80005d51c968 r10: 0000000000000008 r11: 0000000000000206
 r12: 00007fffa41a6fe0 r13: 00000000000000ac r14: 00007fffa41a7210 r15: 00007fffa41a7980
  di: 000000000000571b  si: 000000000000571b  bp: 00007f2a9562ad40  bx: 00007fffa41a7760
  dx: 0000000000000006  ax: 0000000000000000  cx: 00007f2a94cf0428  sp: 00007fffa41a6e78
  ip: 00007f2a94cf0428 efl: 0000000000000206 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
4

1 回答 1

2

您可以使用linuxdeployqt查找所有使用的库和插件。Qt 没有为 linux 提供诸如 windeployqt 之类的东西。

这个 Linux 部署工具 linuxdeployqt 将应用程序作为输入,并通过将应用程序使用的资源(如库、图形和插件)复制到包中来使其自包含。生成的包可以作为 AppDir 或 AppImage 分发给用户,也可以放入交叉分发包中。

如果你在 Windows 上,你可以使用Qt 附带的windeployqt 。

于 2018-03-28T04:46:16.823 回答