Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This switch tells the compiler where to find the IFC reference map file, which maps references to named modules and header units to their corresponding IFC (.ifc) files.
Syntax
/ifcMapfilename
Remarks
The filename argument specifies the IFC reference map file. It can be relative to the compiler's working directory, or an absolute path.
You can provide multiple /ifcMap arguments to the compiler.
The IFC reference map file format is a subset of the TOML file format. The IFC reference map file can contain a mix of [[module]] and [[header-unit]] references.
Syntax errors or unrecognized table names result in compiler error C7696 (TOML parse error).
Map named modules
The format of the IFC reference map file for named modules is:
# Using literal strings
[[module]]
name = 'M'
ifc = 'C:\modules\M.ifc'
# Using basic strings
[[module]]
name = "N"
ifc = "C:\\modules\\N.ifc"
This IFC reference map file maps the named modules 'M' and 'N' to their respective IFC files. The equivalent /reference is:
/reference M=C:\modules\M.ifc /reference N=C:\modules\N.ifc
For more information about what types of module names are valid for the name field, see /reference remarks.
Map header units
The format of the IFC reference map file for header units is:
# Using literal strings
[[header-unit]]
name = ['quote', 'my-utility.h']
ifc = 'C:\header-units\my-utility.h.ifc'
[[header-unit]]
name = ['angle', 'vector']
ifc = 'C:\header-units\vector.ifc'
# Using basic strings
[[header-unit]]
name = ["quote", "my-engine.h"]
ifc = "C:\\header-units\\my-engine.h.ifc"
[[header-unit]]
name = ["angle", "algorithm"]
ifc = "C:\\header-units\\algorithm.ifc"
This IFC reference map file maps "my-utility.h" to C:\header-units\my-utility.h.ifc, and <vector> to C:\header-units\vector.ifc, and so on. The equivalent /headerUnit is:
/headerUnit:quote my-utility=C:\header-units\my-utility.h.ifc /headerUnit:angle vector=C:\header-units\vector.ifc /headerUnit:quote my-engine.h=C:\header-units\my-engine.h.ifc /headerUnit:angle algorithm=C:\header-units\algorithm.ifc
When [[header-unit]] is specified in an IFC reference map file, the compiler implicitly enables /Zc:preprocessor, just as it's implicitly enabled when /headerUnit is used. For more information about the behavior of the angle and quote lookup methods, see /headerUnit remarks.
See also
Overview of modules in C++
Walkthrough: Build and import header units in Visual C++ projects
Using C++ Modules in MSVC from the Command Line