В MSVC у меня есть это в заголовке:
#define STR(x) #x
#define STR2(x) STR(x)
#define NOTE(text) message (__FILE__ "(" STR2(__LINE__) ") : -NOTE- " #text)
#define noteMacro(text) message (__FILE__ "(" STR2(__LINE__) ") : " STR2(text))
и я делаю
#pragma NOTE(my warning here)
GCC имеет:
#warning(my warning here)
Однако MSVC (2003) бросает подгонку, когда видит #warning
и дает "фатальную ошибку C1021: недопустимая команда препроцессора" warning ""
Что я могу сделать по этому поводу? Есть ли способ, чтобы GCC распознавал предупреждения MSVC или MSVC, не выдавал ошибку на предупреждения GCC? Есть ли что-то, что я могу сделать, что работает на обоих? Я могу заставить GCC предупредить меня о неизвестных прагмах, но это не самое идеальное решение.