我正在尝试指定 CPack/NSIS 用于创建应用程序符号的图像。它应该显示在开始菜单文件夹中,作为桌面图标以及应用程序和功能菜单中。 目前我所知道的是:
# Icon displayed inside the installer on top left
set(CPACK_PACKAGE_ICON ""${CMAKE_CURRENT_SOURCE_DIR}/images\\\\Icon.bmp")
# Icon visible in Taskbar at installation, same for CPACK_NSIS_MUI_UNIICON
set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/images/Install_Icon.ico")
我已经尝试过参数 CPACK_NSIS_MUI_HEADERIMAGE,
set(CPACK_NSIS_INSTALLED_ICON_NAME bin\\\\${PROJECT_NAME}.exe)
以及 google 第 1+2 页上的所有内容,显示了 cpack、图标、桌面快捷方式等组合的内容。 有谁知道这是如何工作的?或者是否需要特殊的格式/尺寸?
最佳答案
多亏了@Developer Paul 的评论,我才明白了这一点。 CPack 和 NSIS 在这里具有误导性,因为链接到图标和图像的不同选项表明这是您通过它们进行的设置。 实际上,Windows 下应用程序图标是通过资源文件(.rc)设置的,因此您有 3 个文件:CMakeLists.txt、Icon.ico 和 AppIcon.rc。
在 CMakeLists.txt 中指向 .rc 文件的链接
add_executable("${PROJECT_NAME}" helloworld.cpp AppIcon.rc)
.rc 仅包含指向您的 .ico 的链接,如下所示:
IDI_ICON1 ICON DISCARDABLE "images/icon.ico"
就我而言,我的项目文件夹中有一个单独的images文件夹。 基本上就是这样。但这个解决方案似乎只适用于 Windows,对于 Linux,你必须采取不同的做法。
关于windows - 带有 CPack 的应用程序符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879413/