VERSION is a single-line statement. It is a fatal error (LNK1118) if the statement is empty. The VERSION tag must be followed by a space or tab. There may then be any amount of white space, including none, before the definition. The syntax provides for one or two arguments:

VERSION major[.minor]

Both are interpreted numerically, in decimal notation only, with no sign prefix permitted, and evaluated as unsigned integers truncated to 32 bits.

If the definition contains a period, then there must be both a major and minor version. Without a period, only a major version is expected. There may be any amount of white space, including none, between the period and the minor version. Excess characters, including non-numerical characters immediately following the numerical arguments, are irrelevant and are ignored.

It is a fatal error (LNK1118) not to provide the one or two expected numbers, or if either number is 64K or greater (i.e., does not fit in 16 bits).

Command-Line Translation

A VERSION statement in the module definition file translates to a /version option for the export-file command line. The form is:


where major and minor are expressed as decimals, and minor is omitted if it was not given in the definition.