Pertanyaan Bagaimana cara menambahkan ikon ke mingw-gcc compiled executable?


Di Windows, menggunakan gcc mingw, apakah ada pula untuk menentukan bahwa file output exe adalah untuk mengambil file ikon, sehingga file exe ditampilkan dengan ikon itu di explorer?


76
2018-04-02 03:57


asal


Jawaban:


Anda perlu membuat ikon terlebih dahulu. Maka Anda perlu membuat file RC itu terlihat seperti ini:

id ICON "path/to/my.ico"

ID dapat melakukan banyak hal. Tidak masalah kecuali jika Anda ingin merujuk dalam kode Anda. Kemudian jalankan windres sebagai berikut:

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

Kemudian Anda hanya menyertakan my.res bersama dengan file objek Anda ketika Anda menautkan, misalnya:

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

Dan itu semua harus ada untuk itu.


Dan, tanpa biaya tambahan, jika Anda ingin memasukkan informasi versi di Anda aplikasi, tambahkan boilerplate berikut ke Anda .rc file dan modifikasi dengan tepat:

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

Perhatikan, langID adalah untuk Inggris Raya (yang merupakan pelokalan terdekat ke Australia dapat saya identifikasi.) Jika Anda ingin "Inggris" A.S., lalu ubah BLOCK baris ke:

BLOCK "040904E4"

dan baris terjemahan ke:

VALUE "Translation", 0x409, 1252

Lihat Sumber daya VERSIONINFO untuk info.


165
2018-04-02 05:14



Dalam file RC, yang nameID bahkan tidak harus nama, itu hanya bisa sebuah integer. Itu nama file harus dikutip hanya jika mengandung spasi. Sebagai gantinya dari:

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

Kamu dapat memakai:

windres my.rc my.o

5
2017-10-02 02:20