WINDMC(1)
π NAME π
okay so bestie, welcome to the WINDMC(1) page β aka windmc(1) from the GNU Development Tools crew β¨. This is the manual for windmc, and its whole main-character job is: generates Windows message resources π
. That's it. That's the vibe.
π¦ SYNOPSIS π¦
windmc [options] input-file
πΈ DESCRIPTION πΈ
windmc reads message definitions from an input file (.mc) and translates them into a set of output files. The output files may be of four kinds:
"h"β a C header file containing the message definitions."rc"β a resource file compilable by thewindrestool."bin"β one or more binary files containing the resource data for a specific message language."dbg"β a C include file that maps message id's to their symbolic name.
The exact description of these different formats is available in documentation from Microsoft.
When windmc converts from the "mc" format to the "bin" format, "rc", "h", and optional "dbg" it is acting like the Windows Message Compiler πͺβ¨.
β¨ OPTIONS β¨
bestie, here is every single flag β no skipping, we are doing the whole list π«Ά
-a,--ascii_inβ specifies that the input file specified is ASCII. This is the default behaviour, so it's already the vibe.-A,--ascii_outβ specifies that messages in the outputbinfiles should be in ASCII format.-b,--binprefixβ specifies thatbinfilenames should have to be prefixed by the basename of the source file.-c,--customflagβ sets the customer bit in all message id's.-C codepage,--codepage_in codepageβ sets the default codepage to be used to convert input file to UTF16. The default isocdepage 1252.-d,--decimal_valuesβ outputs the constants in the header file in decimal. Default is using hexadecimal output.-e ext,--extension extβ the extension for the header file. The default is.hextension.-F target,--target targetβ specify the BFD format to use for a bin file as output. This is a BFD target name; you can use the--helpoption to see a list of supported targets. Normallywindmcwill use the default format, which is the first one listed by the--helpoption.-h path,--headerdir pathβ the target directory of the generated header file. The default is the current directory.-H,--helpβ displays a list of command-line options and then exits.-m characters,--maxlength charactersβ instructswindmcto generate a warning if the length of any message exceeds the number specified.-n,--nullterminateβ terminate message text inbinfiles by zero. By default they are terminated by CR/LF.-o,--hresult_useβ not yet implemented π. Instructswindmcto generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified.-O codepage,--codepage_out codepageβ sets the default codepage to be used to output text files. The default isocdepage 1252.-r path,--rcdir pathβ the target directory for the generatedrcscript and the generatedbinfiles that the resource compiler script includes. The default is the current directory.-u,--unicode_inβ specifies that the input file is UTF16.-U,--unicode_outβ specifies that messages in the outputbinfile should be in UTF16 format. This is the default behaviour.-v,--verboseβ enable verbose mode.-V,--versionβ prints the version number forwindmc.-x path,--xdgb pathβ the path of thedbgC include file that maps message id's to the symbolic name. No such file is generated without specifying the switch.@fileβ read command-line options from file. Here's the whole tea:- the options read are inserted in place of the original
@fileoption. - if file does not exist, or cannot be read, then the option will be treated literally, and not removed.
- options in file are separated by whitespace.
- a whitespace character may be included in an option by surrounding the entire option in either single or double quotes.
- any character (including a backslash) may be included by prefixing the character to be included with a backslash.
- the file may itself contain additional
@fileoptions; any such options will be processed recursively.
- the options read are inserted in place of the original
π«Ά SEE ALSO π«Ά
the Info entries for binutils.
π COPYRIGHT π
Copyright (c) 1991-2026 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
π that's the whole page, bestie β brought to you by binutils-2.47, dated 2026-08-26. now go make some Windows message resources and slay π
β¨
π¦ where this page comes from
- arch rolling: loongarch64-linux-gnu-binutils 2.47-1 Β· GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND GFDL-1.3-or-later AND FSFAP
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms