Geoff Chappell - Software Analyst
The required subsystem argument is a simple keyword. Permitted values are console, efi_application, efi_boot_service_driver, efi_rom, efi_runtime_driver, native, posix, windows, windowsce and xbox. Anything else is a fatal error (LNK1117).
The optional second argument provides a major version number and possibly also a minor version number. Both are expected in decimal notation, with a sign prefix permitted, and are evaluated as unsigned integers truncated to 32 bits. It is a fatal error (LNK1147) if either is not in this form or is not less than 64K. There may be any amount of white space, including none, between the comma and major, and between the period and minor. Non-numerical trailing characters are ignored without complaint.
If subsystem is either console or windows and an earlier /machine option set machine as AMD64 or IA64, then the version number composed conventionally from the major and minor parts must be at least 5.01. If subsystem is either console or windows but the machine is different or is not yet specified, then the composed version number must be at least 3.10. For any other supported subsystem, the major version must be at least 1. Failure to meet these expectations results in a warning (LNK4010).
It is a fatal error (LNK1117) to provide a third argument.
The help text produced by the lib /? command omits xbox.