Как проверить, является ли символ препроцессора # define'd, но не имеет значения?

Можно ли с помощью директив препроцессора C ++ проверить, определен ли символ препроцессора, но не имеет значения? Примерно так:

#define MYVARIABLE
#if !defined(MYVARIABLE) || #MYVARIABLE == ""
... blablabla ...
#endif

РЕДАКТИРОВАТЬ: Причина, по которой я это делаю, заключается в том, что проект, над которым я работаю, должен принимать строку из среды через / DMYSTR = $ (MYENVSTR) , и эта строка может быть пустой. Я хочу убедиться, что проект не сможет скомпилировать, если пользователь забыл определить эту строку.

35
задан Brian Tompsett - 汤莱恩 17 June 2016 в 22:17
поделиться