我有一个可在Windows,Linux和Macintosh上运行的跨平台程序。我的Windows版本有一个Icon,但我不知道如何为我的Linux版本制作一个。 是否有KDE,Gnome等的标准格式,还是我必须为每个格式做一些特殊的事情?
我的应用程序是用c ++编写的,并作为源代码分发,因此最终用户将使用gcc编译它。
如果我可以直接在我的exe二进制文件中嵌入图标,那将是最好的。
答案 0 :(得分:10)
对于Gnome和Kde,您可能希望在应用中包含一个桌面文件,用于定义如何启动它。可以找到规范here。如果您的应用程序附带了安装程序,您可能希望让它生成此桌面文件并将其放在正确的位置以进行菜单条目等等
答案 1 :(得分:3)
如果您正在使用其中一个预先制作的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。
答案 2 :(得分:1)
KDE社区与它的KDE 4系列开始使用CMake作为构建系统。他们开发了一个CMake宏,它知道如何为平台的应用程序设置图标(windows(嵌入在exe中),mac(.app bundles),linux(.desktop文件)等)。
也许你可以使用它。