我再次撰写有关创建 .deb 包的文章。我用 C++、Cmake 编译器编写应用程序。有人告诉我要创建一个包我需要使用 Cpack。问题是,如何才能正确地做到这一点?该软件包需要用于多个系统(在本例中为 ubuntu 和 astra linux),我听说这也需要处理?但我不知道怎么做。以及如何更新它?如果您使用 Qt 小部件应用程序的示例来写答案,我会很高兴
我再次撰写有关创建 .deb 包的文章。我用 C++、Cmake 编译器编写应用程序。有人告诉我要创建一个包我需要使用 Cpack。问题是,如何才能正确地做到这一点?该软件包需要用于多个系统(在本例中为 ubuntu 和 astra linux),我听说这也需要处理?但我不知道怎么做。以及如何更新它?如果您使用 Qt 小部件应用程序的示例来写答案,我会很高兴
使用 构建包的
CMakeLists.txt
带有变量的简约示例。我不会提供文件的内容,因为这是通过标准方式生成新项目。可以编辑包文件的所有路径以适合您的分布和需求。这里,作为图标和快捷方式文件位置的示例,指示了与分发环境相关的路径。deb
cpack
main.cpp, mainwindow.cpp, mainwindow.h
qt-creator
fly
astra-linux
从项目目录构建:
结果:
安装该软件包后,系统中将创建两个用于启动窗口应用程序的具有指定图标的快捷方式:一个在桌面上,另一个在启动面板(开始)上。
CPack
PS由于该模块集成到了构建系统中,CMake
它允许您相当简单、快速地为一系列包系统创建包。与组装 -package 的规范方式相比,您只需设置一些变量并指定几条规则,而deb
无需创建一整套文件(control
、等)并使用专门的实用程序和帮助程序。但这种方法也有一个缺点——创建出来的包远远不能满足官方的要求。您可以通过运行该实用程序来验证这一点。为了纠正一些错误和警告,有时您必须编写相当复杂的脚本。而不是结论:这种构建包的方法可以用于本地分发/使用,但可能难以发布到具有更严格规则的存储库。rules
changelog
debian
lintian
cmake