WINDMC(1)
๐ WINDMC(1) โ GNU Development Tools
okay so bestie, pull up a chair because we're talking about windmc, the icon of the binutils world, from the GNU Development Tools lineup โจ
๐ธ NAME
windmc โ generates Windows message resources ๐
๐ฆ SYNOPSIS
windmc [options] input-file
๐ DESCRIPTION
windmc reads message definitions from an input file (.mc) and translates them into a whole little family of output files ๐ซถ. And like, the output files can be one of four kinds, no cap:
"h"โ a C header file that's holding all the message definitions ๐"rc"โ a resource file, and this one is 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, iykyk ๐
So when windmc converts from the "mc" format to the "bin" format, "rc", "h", and optional "dbg" โ it is literally acting like the Windows Message Compiler ๐ periodt.
โจ OPTIONS โจ
-a,--ascii_inโ says the input file you handed over is ASCII. This is the default behaviour, so it's giving low-effort but make it official ๐-A,--ascii_outโ says the messages inside the output"bin"files should be in ASCII format ๐-b,--binprefixโ says the"bin"filenames have to be prefixed by the basename of the source file ๐ท๏ธ-c,--customflagโ sets the customer bit in all message id's ๐ฅ-Ccodepage,--codepage_incodepage โ sets the default codepage used to convert the input file to UTF16. The default is ocdepage 1252 ๐ง-d,--decimal_valuesโ outputs the constants in the header file in decimal. Default is using hexadecimal output ๐ข-eext,--extensionext โ the extension for the header file. The default is.hextension ๐ซ-Ftarget,--targettarget โ specify the BFD format to use for a bin file as output. This is a BFD target name, and 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 ๐ฏ-hpath,--headerdirpath โ 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. the classic "help me help you" move ๐ซถ-mcharacters,--maxlengthcharacters โ instructswindmcto generate a warning if the length of any message exceeds the number specified โ ๏ธ-n,--nullterminateโ terminate message text in"bin"files by zero. By default they are terminated by CR/LF ๐ฆ-o,--hresult_useโ not yet implemented ๐. Instructs"windmc"to generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified ๐งพ-Ocodepage,--codepage_outcodepage โ sets the default codepage used to output text files. The default is ocdepage 1252 ๐ธ-rpath,--rcdirpath โ the target directory for the generated"rc"script and the generated"bin"files that the resource compiler script includes. The default is the current directory ๐-u,--unicode_inโ says the input file is UTF16 ๐-U,--unicode_outโ says the messages in the output"bin"file should be in UTF16 format. This is the default behaviour ๐-v,--verboseโ enable verbose mode. she's chatty now ๐ฌ-V,--versionโ prints the version number forwindmc๐-xpath,--xdgbpath โ the path of the"dbg"C 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. The options read are inserted in place of the original@file option. 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 @file options; any such options will be processed recursively ๐
๐ SEE ALSO
the Info entries for binutils ๐ซถ
๐ COPYRIGHT
Copyright (c) 1991-2025 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" ๐
and that's the whole page, bestie โ sign-off time: this was binutils-2.45.1, dated 2025-11-24, and you can literally cite it as the WINDMC(1) manual ๐โจ mwah ๐
๐ฆ where this page comes from
- alpine 3.23: binutils-doc 2.45.1-r0 ยท GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms