-1

私は、多くの異なるコンパイラとコンパイラのバージョンをターゲットにする必要があるライブラリに (共同で) 取り組んでいます。たとえば、Visual Studio 2005 から 2015 までを、他のいくつか (ICC、Clang、GCC など) と共にサポートする必要があります。

現在、ほとんどの新しいコンパイラには新しい機能が追加されており、そのうちのいくつかは本当に役立つ可能性があります。実際、これらは非常に便利なので、デフォルトでオンにしたいと考えています。しかし、古いコンパイラとの互換性を維持したいと考えています。

例:
Visual Studio 2015 では、ライブラリへの攻撃を防ぐのに役立つ制御フロー ガードが導入されています。ただし、これは以前のコンパイラ バージョンでは明らかに不明なオプションです。

では、.vc(x)proj ファイルを設定して、新しい機能 (制御フロー ガードなど) をデフォルトで有効にすると同時に、古いコンパイラ (新しい機能を知らない) で警告を表示しないようにするにはどうすればよいでしょうか? それとも無理ですか?

4

1 に答える 1