8

誰かがQtとOpenGLの依存関係を持つDebianパッケージのCPackスクリプトの実用的な例を使って作業しましたか?

これを設定しました

set (CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12), libQtOpenGL (>=4.6.0), libQtCore (>=4.6.0), libQtGui (>=4.6.0), libglut (>=3.0), libICE (>=6.0), libX11 (>=6.0), libXext (>=6.0), libXmu (>=6.0), libXi (>=6.0), libstdc++ (>=6.0), libm (>=6.0), libgcc_s (>=1.0), libc (>=6.0), libGLU, libGL (>=1.0), libpthread" )

私はグーグルで検索しましたが、実用的な例は見つかりませんでした。私の主な問題は、最初にlibGLUの依存関係を設定し、次にlibGLと次のライブラリの依存関係を設定する方法です。

デブを作成すると、インストーラーは次のように言います

 **Error: Dependency is not satisfiable: libXXX**

ここで、XXXは前にリストしたライブラリの1つです(主にQtライブラリ)

現在、私のcmakeバージョンは2.8.2ですが、cpack_add_componentコマンドが機能しません

4

2 に答える 2

9

CPACK_DEBIAN_PACKAGE_SHLIBDEPSCPack変数を使用できます。

set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)

これにより、依存関係が自動的に解決されます。

于 2015-07-12T12:24:29.707 に答える
8

CMakeで依存関係を「注文」できるとは思いません。qt依存関係を持つ.debを生成するCMakeListsの実用的な例が必要な場合は、以下を参照してください。

project(QExhibitor)
cmake_minimum_required(VERSION 2.8)

FIND_PACKAGE(Qt4 REQUIRED QtNetwork QtGui QtCore QtXml)
FIND_PACKAGE(CSSRobopec REQUIRED)
#Some non interesting things ...
#.....
add_executable(QExhibitor ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP})
target_link_libraries(QExhibitor ${QT_LIBRARIES} ${CSSRobopec_LIBRARIES})

INSTALL(TARGETS QExhibitor DESTINATION /reetiPrograms/RApplications/Applications/)
INSTALL(FILES Icons/RQExhib.png DESTINATION /reetiPrograms/RApplications/Icons)

set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "cssrobopec,libqt4-xml,libqt4-network,libqtgui4,treeupdatablereeti")
set(CPACK_PACKAGE_DESCRIPTION "Configure UExhibitor and launch missions")
set(CPACK_PACKAGE_CONTACT "Adrien BARRAL aba@robopec.com")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/Debian/postinst")

include(CPack)
于 2012-04-10T13:59:39.917 に答える