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
/ifcMap
filename
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