我想开始一个个人项目,我想要跨平台。 我所有的Linux工作都是为企业客户完成的,所以目标发行版是事先指定的,但这是不同的。
该项目将是开源的,并使用Qt。 这是我想知道的:
如果我在一个发行版上进行dev +testing,或者我应该testing多个发行版,这是否足够? 根据我的经验,如果没有经过testing,这是行不通的,但另一方面,我不能为每个发行版build立和testing,特别是因为这将是一个业余爱好项目。
假设我select使用KDE的发行版X. 对于使用发行版Y与Gnome一起使用我的程序的人,你觉得有多难?
使用Gnome的人会使用我的Qt程序,还是因为使用Qt编写而被推迟? 我们假设他们觉得有用。 Qt-Gnome集成有多好?
我也必须运送二进制文件吗? 当前的趋势是什么:来源还是来源+垃圾桶?
我将非常感谢在Linux上使用Qt开源项目的个人示例。 谢谢。
我会使用不同的包装系统(apt,rpm等)对几个不同的发行版进行测试。其他任何情况都应该根据具体情况进行。
一个Qt应用程序的例子是umbrello UML建模工具。 所有的Ubuntu用户必须做的是sudo apt-get install umbrello
。 即使你没有准备好一个包,类似的命令也可以设置Qt,这样你的二进制可以被执行。
我的印象是,人们倾向于坚持一个小工具工具包(GTK的侏儒和Qt的KDE),但另一方面,我会惊讶地看到,有人没有使用他/她需要的良好应用程序,只是因为工具包。
为源代码和二进制文件分开包。 二进制文件随用户文档一起提供,与开发人员文档一起提供。
我想你应该在不同的发行版上测试它。 可以坚持最流行的:Ubuntu,Fedora,OpenSuse,Slackware,CentOS / RHE。 您可以使用VirtualBox或VMWare播放器和免费提供的虚拟机来测试其他发行版(而不是具有5个以上的独立分区)。 另一种方法是只为您正在开发的发行版提供二进制文件,为其他发行版提供源代码+指令(如何构建)。
如果你使用一些软件包管理器(RPM,APT-GET)分发你的二进制文件,它将会安装缺少的软件包,如果它们还没有安装的话(例如:默认情况下使用Gnome的发行版上的Qt4)。 看一下CheckInstall可以用来为Debian,RedHat和Slackware生成软件包。
我不认为这是一个表演塞。 如果你的应用程序是健壮的,精心设计和有用的,桌面外观整合不应该成为一个问题…你也可以使用QtGtKStyle来确保你的应用程序在Gnome上正确。
大多数开源项目提供了最流行的发行版的二进制文件,也提供了其他发行版的源代码(所以他们可以手动构建应用程序)。