VCCLCompilerTool.UndefinePreprocessorDefinitions Property


Gets or sets a value that specifies one or more preprocessor undefines. UndefinePreprocessorDefinitions exposes the functionality of the C++ compiler's /U, /u (Undefine Symbols) option and the MIDL compiler's MIDL Property Pages: Advanced option.

 property System::String ^ UndefinePreprocessorDefinitions { System::String ^ get(); void set(System::String ^ value); };
 property Platform::String ^ UndefinePreprocessorDefinitions { Platform::String ^ get(); void set(Platform::String ^ value); };
[get: System.Runtime.InteropServices.DispId(87)]
[set: System.Runtime.InteropServices.DispId(87)]
public string UndefinePreprocessorDefinitions { get; set; }
member this.UndefinePreprocessorDefinitions : string with get, set
Public Property UndefinePreprocessorDefinitions As String

Property Value

A string that specifies one or more preprocessor undefines.



See How to: Compile Example Code for Project Model Extensibility for information about how to compile and run this example.

The following example modifies the compiler's UndefinePreprocessorDefinitions property in the integrated development environment (IDE):

' add reference to Microsoft.VisualStudio.VCProjectEngine.  
Imports EnvDTE  
Imports Microsoft.VisualStudio.VCProjectEngine  
Public Module Module1  
    Sub Test()  
        Dim prj As VCProject  
        Dim cfgs, tools As IVCCollection  
        Dim cfg As VCConfiguration  
        Dim tool As VCCLCompilerTool  
        Dim oldUndefs As String  
        prj = DTE.Solution.Projects.Item(1).Object  
        cfgs = prj.Configurations  
        cfg = cfgs.Item(1)  
        tool = cfg.Tools("VCCLCompilerTool")  
        oldUndefs = tool.UndefinePreprocessorDefinitions  
        tool.UndefinePreprocessorDefinitions = "_DEBUG;" + oldUndefs  
    End Sub  
End Module  

Applies to