带有CPack的应用程序符号

问题描述 投票:0回答:1

我正在尝试指定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,图标,桌面快捷方式,...有谁知道这是如何工作的?还是需要特殊格式/尺寸?

windows image cmake nsis cpack
1个回答
0
投票

我想通了,这要归功于@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,您必须采取不同的方法。

© www.soinside.com 2019 - 2024. All rights reserved.