2

我想为 ubuntu 14.04 64 位的 QT 5 .2.1 桌面应用程序制作 .deb 包。我已经在 Ubuntu 14.04 上安装了 QT 5.2.1 并制作了一个演示应用程序,用于我使用 Qt webkitwidgets 的测试目的。在制作应用程序的 .deb 包期间,我遇到了以下问题。

  1. /usr/bin/ld:警告:libicui18n.so.51,/opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1 需要,未找到(尝试使用 -rpath 或 -rpath -关联)
  2. /usr/bin/ld:警告:libicuuc.so.51,/opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1 需要,未找到(尝试使用 -rpath 或 -rpath -关联)

/opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1:未定义引用ucal_openTimeZones_51' /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1: undefined reference touenum_next_51' /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1 :对 ucnv_getStandardName_51'/opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1 的未定义引用:对ucol_strcoll_51 ucal_clone_51' /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1: undefined reference to'/opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core 的未定义引用ucol_close_51' /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1: undefined reference to.so.5.2.1:未定义引用ucnv_getMaxCharSize_51' /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1: undefined reference tou_strToLower_51' /opt/Qt5.2.1/5.2.1/gcc_64/lib/libQt5Core.so.5.2.1:未定义引用 `ucnv_getAvailableName_51'

还有更多未定义的参考错误.......

我发现 Qt5 webkitwidgets 引用了 Ubuntu 中的 icu 库,这些错误是由于 Qt5 webkitwidgets 依赖于 QT 5 中的 icu 库。

这些 icu .so 文件位于机器中的路径 /opt/Qt5.2.1/5.2.1/gcc_64/lib/ 中,但在 .deb 打包期间未引用这些文件。

我从链接http://download.icu-project.org/file...-RHEL6-x64.tgz下载并安装了适用于 linux 的 icu 库到我的机器中并编译和构建 icu .so 文件并包含同样进入 .pro 文件。

icu .so 文件仍然存在链接问题。这个 icu 库适用于 Red Hat Enterprise Linux 6.2(x86 64 位)gcc 4.4.6,因为我在 Ubuntu 14.04 64 位上没有得到相同的库,所以我使用了它。

在 Ubuntu 14.04 中部署 QT 5.2.1 应用程序是否存在缺少依赖文件的问题?请调查这个问题,让我知道我做错了什么。

4

0 回答 0