1

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

dpkg-shlibdeps: 错误: 找不到 debian/demoapp/usr/bin/DemoApp1 所需的库 libquazip.so.1 (ELF 格式: 'elf64-x86-64'; RPATH: '') dpkg-shlibdeps: 警告:如果 debian/demoapp/usr/bin/DemoApp1 没有与 libz.so.1 链接(它不使用库的任何符号),包可以避免无用的依赖项 dpkg-shlibdeps: error: 由于上述错误而无法继续 注意:库不在没有任何 shlibs 或符号文件的其他二进制包中搜索。为了帮助 dpkg-shlibdeps 找到私有库,您可能需要使用 -l。dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 返回退出代码 2 make: *[binary-predeb-IMPL/demoapp] 错误 2 dpkg-buildpackage:错误:fakeroot debian/rules 二进制给出了错误退出状态 2 debuild:第 1364 行的致命错误:dpkg-buildpackage -rfakeroot -D -us -uc 失败

当我将 libquazip.so.1 复制到我机器中的路径 /usr/lib 时,我得到了以下问题。

dpkg-shlibdeps: 错误: 没有找到 /usr/lib/libquazip.so.1 的依赖信息 (debian/demoapp/usr/bin/DemoApp1 使用) dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr /bin/DemoApp1 返回退出代码 2 制作:* [binary-predeb-IMPL/demoapp] 错误 2 dpkg-buildpackage:错误:fakeroot debian/rules 二进制给出错误退出状态 2 debuild:第 1364 行的致命错误:dpkg-buildpackage - rfakeroot -D -us -uc 失败

我的 cmakelist.txt 文件如下所示。

cmake_minimum_required(版本 2.8.9)

项目(DemoApp1)

设置(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} “;/opt/Qt5.2.1/5.2.1/gcc_64/lib/cmake;”)

find_package(需要 Qt5Widgets)

包含目录(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1/quazip)

链接目录(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1)

add_executable(DemoApp1 main.cpp mainwindow.cpp moc_mainwindow.cpp mainwindow.ui)

target_link_libraries(DemoApp1 quazip z)

install(TARGETS DemoApp1 RUNTIME DESTINATION bin)

qt5_use_modules(DemoApp1 小部件)

我的 Debian 控制文件如下所示。

来源:demoapp

部分:游戏

优先级:额外

维护者: Manoj Patidar

构建依赖:debhelper (>= 8.0.0)、cmake、qtbase5-dev、cdbs

标准版本:3.9.4

包:demoapp

架构:任何

取决于:${shlibs:Depends},${misc:Depends}

说明:说明

说明会来这里

我想我需要在 “Depends: ${shlibs:Depends}, ${misc:Depends}” 行中为 quazip 添加一些依赖项。有什么我错过的吗?. 请调查这个问题,让我知道我做错了什么。

谢谢

4

0 回答 0