Main Content

removeUndefines

Remove undefine preprocessor macros from build information

Since R2024a

Description

example

removeUndefines(buildinfo,undefs) removes undefine preprocessor macros from the build information.

Examples

collapse all

This example shows how to remove undefine preprocessor macros from a build information object.

Suppose you have two files, myFile.c and myInc.h, in your current working folder.

// myFile.c
#include <stdio.h>
int main(void) {
    #ifdef __STDC_VERSION__
    printf("__STDC_VERSION__ is defined\n");
    #else
    printf("__STDC_VERSION__ is not defined\n");
    #endif
 
    #ifdef MY_MACRO
    printf("MY_MACRO is defined\n");
    #else
    printf("MY_MACRO is not defined\n");
    #endif
}


// myInc.h
#ifndef MYINC_H
#define MYINC_H
 
#define MY_MACRO
 
#endif

Create an RTW.BuildInfo object and specify source files, undefine macros, and preinclude files.

buildInfo = RTW.BuildInfo;
buildInfo.ComponentName = 'MyComponent';
buildInfo.addSourceFiles('myfile.c');
buildInfo.addUndefines('__STDC_VERSION__');
buildInfo.addPreincludeFiles('myinc.h');

Get the undefine preprocessor macros.

undefines=getUndefines(buildInfo)
undefines =

  1×1 cell array

    {'__STDC_VERSION__'}

Remove the undefine preprocessor macro __STDC_VERSION__.

removeUndefines(buildInfo, {'__STDC_VERSION__'});

Check that the undefine preprocessor macro is removed.

undefines=getUndefines(buildInfo)
undefines =

  0×0 empty cell array

Input Arguments

collapse all

Required. RTW.BuildInfo object that contains information for compiling and linking generated code.

Required. Specify the undefine preprocessor macros that you want to remove from the build information object.

Version History

Introduced in R2024a