【问题标题】:Setting the application icon with CMake使用 CMake 设置应用程序图标
【发布时间】:2015-05-22 15:51:25
【问题描述】:

是否有跨平台的方式来使用 CMake 设置应用程序图标?我将 Cmake 3.0.2 与 Qt 5.4 一起使用。

在 Qt documentation 中显示了一个方法,但它不是跨平台的。

【问题讨论】:

  • 据我所知,在 Linux 系统上,图标是在安装到特定桌面环境的过程中配置的。在项目编译期间没有通用的方法。
  • 在 Linux 上通过 CMake 与 MinGW 进行交叉编译时,应用图标问题变得明显。

标签: c++ qt cmake icons cross-platform


【解决方案1】:

CMake 不会为您处理这个问题。

在某些平台上有几个“应用程序图标”。例如,在一个遵循 FreeDesktop.org 标准的类 UNIX 系统上(基本上你现在可以在 Linux 上看到的任何东西,无论是 KDE、Gnome、Unity、XFCE 还是其他一些 DE-du-jour),都可以这样做通过在应用程序的.desktop 文件中设置适当的Icon 条目。有关详细信息,请参阅the .desktop spec。这是作为启动器图标显示的内容,一些 DE(例如最近的 Plasma)会将其用作任务栏中的窗口图标,并带有适当的主题覆盖。

也许您也发布了一个 Windows 安装程序,也许是基于 NSIS。那么您可能也应该在您的.nsi 中指定这一点。

实际的窗口图标也应该由程序员设置。如您所见,有很多地方可以设置“应用程序图标”。如果您正在寻找真实世界的示例,请查看Trojitá's source code。通过 CMake 查找实际的图标文件安装、NSIS 代码、创建 Windows RC 文件,最后通过 C++ 代码设置应用程序图标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-01
    • 2011-07-18
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多