我有一个可在Windows,Linux和Macintosh上运行的跨平台程序。我的Windows版本有一个Icon,但我不知道如何为我的Linux版本制作一个。 是否有KDE,Gnome等的标准格式,还是我必须为每个格式做一些特殊的事情?

我的应用程序是用c ++编写的,并作为源代码分发,因此最终用户将使用gcc编译它。

如果我可以直接在我的exe二进制文件中嵌入图标,那将是最好的。

有帮助吗?

解决方案

对于Gnome和Kde,您可能希望在应用中包含一个桌面文件,用于定义如何启动它。该规范可在此处找到。如果您的应用程序附带了安装程序,您可能希望让它生成此桌面文件并将其放在正确的位置以进行菜单条目等等

其他提示

如果您正在使用其中一个预先制作的F / OSS构建系统,例如KDE的CMake支持,那么一旦您拥有.desktop文件,它就非常容易:

安装(FILES myapp.desktop DESTINATION $ {XDG_APPS_INSTALL_DIR}) kde4_add_app_icon(myapp_SRCS" $ {CMAKE_CURRENT_SOURCE_DIR} /hi*-app-myappname.png")

如果您要自己动手,请考虑使用 xdg-utils ,其中包括方便的小脚本比如xdg-desktop-menu(安装桌面菜单项)和xdg-desktop-icon(在桌面上安装图标)。

.desktop标准已在第一条评论中指出,但您也可以抓住系统上已安装的标准并从那里进行修改。至于图标,虽然PNG往往能够提供最好的结果,但仍然支持PNG和SVG。

KDE社区与它的KDE 4系列开始使用CMake作为构建系统。他们开发了一个CMake宏,它知道如何为平台的应用程序设置图标(windows(嵌入在exe中),mac(.app bundles),linux(.desktop文件)等)。

也许你可以使用它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top