6

のドキュメントCPACK_PACKAGE_ICONは、cmake wiki ページで非常に限られています。

以下は私にとってはうまくいきません(に従って):

set(CPACK_PACKAGE_ICON  "${CMAKE_CURRENT_SOURCE_DIR}/images/MyIcon.bmp")
include(CPack)

それは次のことにつながります。

File: "C:/proj/my_library/images/MyIcon.bmp" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
   /oname=outfile one_file_only)
Error in macro MUI_HEADERIMAGE_INIT on macroline 24
Error in macro MUI_GUIINIT on macroline 3
Error in macro MUI_FUNCTION_GUIINIT on macroline 4
Error in macro MUI_INSERT on macroline 11
Error in macro MUI_LANGUAGE on macroline 7
Error in script "C:/proj/bin-win/_CPack_Packages/win32/NSIS/project.nsi" on line 574 -- aborting creation process

では、NSIS インストーラーのインストール プロセス中に実際に動作するアイコンを設定するにはどうすればよいでしょうか。また、アイコンに実際に必要な形式は何ですか?

4

1 に答える 1

9

試行錯誤の末、最終的に 2 つのトリックが必要であることがわかりました。

構文は実際には次のとおりです。

set(CPACK_PACKAGE_ICON  "${CMAKE_CURRENT_SOURCE_DIR}/images\\\\MyIcon.bmp")

また、BMP ファイルは古い形式に制限されており、これは imagemagick のデフォルトではありません。例えば:

$ file MyIcon.bmp
MyIcon.bmp: PC bitmap, Windows 98/2000 and newer format, 128 x 128 x 24

必要なのはこれです:

$ convert MyIcon.bmp BMP3:MyIcon2.bmp
$ file MyIcon2.bmp
MyIcon2.bmp: PC bitmap, Windows 3.x format, 128 x 128 x 24

最初の表現 ( Windows 98/2000 and newer format) はうまくいきませんでした。

于 2015-02-27T15:23:45.013 に答える