c++visual-c++macros

How to set a macro with parameters using -D on the command line


I'm programming on Visual C++ 6.0 IDE my problem is: I tried to define macros from the command line at first I did this: project->settings c++ command definitions and I entered this macro: -DHELLO="HELLO!" when I use it from my source code I entered:

#ifdef HELLO
HELLO;
#endif

Until this everything is OK.

But my problem is with macros those takes arguments, so how I set a macro with arguments and the second question is how to expand it from source code?

Any help is really appreciated. I spent a lot of time googling and searching, reading ebooks but this didn't help.


Solution

  • It seems that it is not possible...

    If you take a look at the Microsoft documentation, the /D option is constructed like :

    /Dname[= | # [{string | number}] ]
    

    As it seems to be impossible to add parantheses, I don't it is possible to create function-like macro with this command line option...


    NB: It's weird that I tried on Visual Studio, my intellisense see it as function-like macro, so no error visible in the code (no red line under it), but when it's time to compile I get :

    error C3861: 'MACRO_TEST': identifier not found 
    

    With a definition of type :

    /D"MACRO_TEST( tst )= tst" // or -D"MACRO_TEST( tst )= tst"