Share via


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.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Syntax

'Declaration
Property UndefinePreprocessorDefinitions As String
string UndefinePreprocessorDefinitions { get; set; }
property String^ UndefinePreprocessorDefinitions {
    String^ get ();
    void set (String^ value);
}
abstract UndefinePreprocessorDefinitions : string with get, set
function get UndefinePreprocessorDefinitions () : String 
function set UndefinePreprocessorDefinitions (value : String)

Property Value

Type: String
A string that specifies one or more preprocessor undefines.

Examples

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
        MsgBox(tool.UndefinePreprocessorDefinitions)
    End Sub
End Module

.NET Framework Security

See Also

Reference

VCCLCompilerTool Interface

Microsoft.VisualStudio.VCProjectEngine Namespace