title: How to test if preprocessor symbol is #define'd but has no value?
body: <p>Using C++ preprocessor directives, is it possible to test if a preprocessor symbol has been defined but has no value? Something like that:</p>
  
  <pre><code>#define MYVARIABLE
  #if !defined(MYVARIABLE) || #MYVARIABLE == ""
  ... blablabla ...
  #endif
  </code></pre>
  
  <p><strong>EDIT:</strong> The reason why I am doing it is because the project I'm working on is supposed to take a string from the environment through <code>/DMYSTR=$(MYENVSTR)</code>, and this string might be empty. I want to make sure that the project fails to compile if user forgot to define this string.</p>