windres は Windows リソースファイル
(*.rc) を読み込み、それを res または coff
ファイルへと変換します。
入力ファイルのシンタックスとセマンティクスについては他のリソースコンパイラと同様ですので、
詳細については Windows のリソースフォーマットについて記述した他の出版物を当ってみて下さい。
windres 自身もまた、
binutils マニュアル中で完全に文書化されています。
ここではプロジェクト中での使用方法について一例を挙げます。
myapp.exe : myapp.o myapp.res gcc -mwindows myapp.o myapp.res -o $@ myapp.res : myapp.rc resource.h windres $< -O coff -o $@
以下は windres がサポートするシンタックスのクイックリファレンスです。
id ACCELERATORS サブオプション BEG "^C" 12 "Q" 12 65 12 65 12 , VIRTKEY ASCII NOINVERT SHIFT CONTROL ALT 65 12 , VIRTKEY, ASCII, NOINVERT, SHIFT, CONTROL, ALT (12 はあるアクセラレータ ID) END SHIFT、CONTROL、ALT には VIRTKEY が必要 id BITMAP メモリフラグ "ファイル名" メモリフラグのデフォルトは MOVEABLE id CURSOR メモリフラグ "ファイル名" メモリフラグのデフォルトは MOVEABLE,DISCARDABLE id DIALOG メモリフラグ 拡張スタイル x,y,幅,高さ スタイル BEG コントロール END id DIALOGEX メモリフラグ 拡張スタイル x,y,幅,高さ スタイル BEG コントロール END id DIALOGEX メモリフラグ 拡張スタイル x,y,幅,高さ,ヘルプID スタイル BEG コントロール END メモリフラグのデフォルトは MOVEABLE 拡張スタイルは EXSTYLE=number となる スタイル: CAPTION "文字列" CLASS id STYLE FOO | NOT FOO | (12) EXSTYLE number FONT 数値, "名称" FONT 数値, "名称",ウェイト,イタリック MENU id CHARACTERISTICS 数値 LANGUAGE 数値,数値 VERSIONK 数値 コントロール: AUTO3STATE パラメータ AUTOCHECKBOX パラメータ AUTORADIOBUTTON パラメータ BEDIT パラメータ CHECKBOX パラメータ COMBOBOX パラメータ CONTROL ["名称",] id, クラス, スタイル, x,y,w,h [,拡張スタイル] [データ] CONTROL ["名称",] id, クラス, スタイル, x,y,w,h, 拡張スタイル, ヘルプID [データ] CTEXT パラメータ DEFPUSHBUTTON パラメータ EDITTEXT パラメータ GROUPBOX パラメータ HEDIT パラメータ ICON ["名前",] id, x,y [データ] ICON ["名前",] id, x,y,w,h, スタイル, 拡張スタイル [データ] ICON ["名前",] id, x,y,w,h, スタイル, 拡張スタイル, ヘルプID [データ] IEDIT パラメータ LISTBOX パラメータ LTEXT パラメータ PUSHBOX パラメータ PUSHBUTTON パラメータ RADIOBUTTON パラメータ RTEXT パラメータ SCROLLBAR パラメータ STATE3 パラメータ USERBUTTON "文字列", id, x,y,w,h, スタイル, 拡張スタイル パラメータ: ["名称",] id, x, y, w, h, [データ] ["名称",] id, x, y, w, h, スタイル [,拡張スタイル] [データ] ["名称",] id, x, y, w, h, スタイル, 拡張スタイル, ヘルプID [データ] [データ] はオプションで BEG (文字列|数値) [,(文字列|数値)] (その他) END id FONT メモリフラグ "ファイル名" メモリフラグのデフォルトは MOVEABLE|DISCARDABLE id ICON メモリフラグ "ファイル名" メモリフラグのデフォルトは MOVEABLE|DISCARDABLE LANGUAGE 数値,数値 id MENU オプション BEG アイテム END アイテム: "文字列", id, フラグ SEPARATOR POPUP "文字列" フラグ BEG メニューアイテム END フラグ: CHECKED GRAYED HELP INACTIVE MENUBARBREAK MENUBREAK id MENUEX サブオプション BEG アイテム END アイテム: MENUITEM "文字列" MENUITEM "文字列", id MENUITEM "文字列", id, タイプ [,状態] POPUP "文字列" BEG アイテム END POPUP "文字列", id BEG アイテム END POPUP "文字列", id, タイプ BEG アイテム END POPUP "文字列", id, タイプ, 状態 [,ヘルプID] BEG アイテム END id MESSAGETABLE メモリフラグ "ファイル名" メモリフラグのデフォルトは MOVEABLE id RCDATA サブオプション BEG (文字列|数値) [,(文字列|数値)] (その他) END STRINGTABLE サブオプション BEG 文字列 END 文字列: id "文字列" id, "文字列" (ユーザデータ) id id サブオプション BEG (文字列|数値) [,(文字列|数値)] (その他) END id VERSIONINFO 材料 BEG バージョンブロック END 材料: FILEVERSION 数値,数値,数値,数値 PRODUCTVERSION 数値,数値,数値,数値 FILEFLAGSMASK 数値 FILEOS 数値 FILETYPE 数値 FILESUBTYPE 数値 バージョンブロック: BLOCK "StringFileInfo" BEG BLOCK BEG バージョン値 END END BLOCK "VarFileInfo" BEG BLOCK BEG バージョン翻訳情報 END END バージョン値: VALUE "foo","bar" バージョン翻訳情報: VALUE 数値,数値 サブオプション: メモリフラグ CHARACTERISTICS 数値 LANGUAGE 数値,数値 VERSIONK 数値 メモリフラグは MOVEABLE/FIXED PURE/IMPURE PRELOAD/LOADONCALL DISCARDABLE