web-dev-qa-db-ja.com

mingw-gccコンパイル済み実行可能ファイルにアイコンを追加するにはどうすればよいですか?

Windowsでは、mingwのgccを使用して、出力exeファイルがアイコンファイルを取ることを指定するためにとにかくあり、exeファイルはエクスプローラーでそのアイコンで表示されますか?

80
myforwik

最初にアイコンを作成する必要があります。次に、次のようなRCファイルを作成する必要があります。

id ICON "path/to/my.ico"

IDはほとんど何でもかまいません。コード内で参照したい場合を除き、問題ではありません。次に、windresを次のように実行します。

windres my.rc -O coff -o my.res

次に、リンクするときにオブジェクトファイルとともにmy.resを含めるだけです。

g++ -o my_app obj1.o obj2.o my.res

そして、これですべてです。


また、追加料金なしで、アプリケーションにバージョン情報を含める場合は、.rcファイルし、適切に変更します。

1 VERSIONINFO
FILEVERSION     1,0,0,0
PRODUCTVERSION  1,0,0,0
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "080904E4"
    BEGIN
      VALUE "CompanyName", "My Company Name"
      VALUE "FileDescription", "My excellent application"
      VALUE "FileVersion", "1.0"
      VALUE "InternalName", "my_app"
      VALUE "LegalCopyright", "My Name"
      VALUE "OriginalFilename", "my_app.exe"
      VALUE "ProductName", "My App"
      VALUE "ProductVersion", "1.0"
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x809, 1252
  END
END

LangIDは英国英語(これはオーストラリアに最も近いローカリゼーションです)に対応しています。米国の「英語」が必要な場合は、BLOCK行を次のように変更します。

BLOCK "040904E4"

および翻訳行:

VALUE "Translation", 0x409, 1252

詳細については、 VERSIONINFOリソース を参照してください。

173
Evan

RCファイルでは、nameIDは名前である必要はなく、整数でもかまいません。 filenameは、スペースが含まれている場合にのみ引用する必要があります。の代わりに:

windres my.rc -O coff -o my.res

次を使用できます。

windres my.rc my.o
5
Steven Penny

Resource Hackerを試してください。 Linux(WSL)でプロジェクトをクロスコンパイルし、ホームページのロゴからアイコンを生成することができました。 exeに埋め込む簡単な方法が必要なだけで、このプログラムはうまく機能しました。 アンガスジョンソンによるリソースハッカー

0
noabody