Probably the best solution is @b4n's one
No, it misses the point of the issue. It's not specific to `noexcept` and solving for that one specification only, among all current and future language specifications or compiler attributes and pragmas which could cause a similar problem doesn't really help in general.
IMO, it would be better to go with the preprocessor guard and let plugins remove the forward declaration completely if they know what they're doing. This is more general and allows plugins to workaround not just `noexcept` but also any other specifications/attributes/pragmas which could cause similar problems.