Я делаю пакет .deb для настольного приложения QT 5 .2.1 для Ubuntu 14.04 64 bit. Я установил QT 5.2.1 в Ubuntu 14.04 и сделал демонстрационное приложение для тестирования, в котором я использовал библиотеку quazip. При создании пакета приложения .deb я получаю следующую проблему.
dpkg-shlibdeps: error: couldn’t find library libquazip.so.1 needed by debian/demoapp/usr/bin/DemoApp1 (ELF format: ‘elf64-x86-64’; RPATH: ‘’)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/demoapp/usr/bin/DemoApp1 was not linked against libz.so.1 (it uses none of the library’s symbols)
dpkg-shlibdeps: error: cannot continue due to the error above
Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to use -l.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 returned exit code 2
make: *** [binary-predeb-IMPL/demoapp] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Когда я копирую libquazip.so.1
по пути /usr/lib
в моей машине, я получаю следующую проблему.
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libquazip.so.1 (used by debian/demoapp/usr/bin/DemoApp1)
dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 returned exit code 2
make: *** [binary-predeb-IMPL/demoapp] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Мой файл CMakeLists.txt, как показано ниже.
cmake_minimum_required(VERSION 2.8.9) project(DemoApp1) set (CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} “;/opt/Qt5.2.1/5.2.1/gcc_64/lib/cmake;”) find_package(Qt5Widgets REQUIRED) include_directories(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1/quazip) link_directories(/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 Widgets)
Мой файл управления Debian приведен ниже.
Source: demoapp Section: games Priority: extra Maintainer: Manoj Patidar Build-Depends: debhelper (>= 8.0.0), cmake, qtbase5-dev, cdbs Standards-Version: 3.9.4 Package: demoapp Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Description Description will come here
Я думаю, мне нужно добавить некоторые зависимости для quazip
в строку Depends: ${shlibs:Depends}, ${misc:Depends}
. Я что-то пропустил?