私はVS 2015 jsoncppでコンパイルし、それとリンクすることができ、everythignは正常に動作します。JsonCppを使用しているとき、廃止された警告とその削除方法はどのように機能しますか?
ただし、廃止予定の警告音が出ています。コードにdepecratedとしていくつかのクラスがマークされます。
#define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))
と
class JSONCPP_DEPRECATED("Use StreamWriter instead") JSON_API Writer {...};
事は、私はこれらのクラスを使用していないです。ファイルが含まれるとすぐにメッセージが表示されます。これをコンパイル:
#include <json/json.h>
int main(int argc, char* argv[])
{
return 0;
}
は13非推奨の警告を生成します...
は、これらの警告は、唯一の非推奨クラス/関数を使用するときに報告することになっていませんか?この方法で動作させる方法はありますか? (私はC4996の警告を無効にすることができましたが、有効にしておくのが良いでしょうが、廃止予定のクラス/機能が実際に使用されたときにのみ報告されます)。
ヘッダーの周りにいくつかの '#pragma push'' #pragma pop'を付けて、特定の警告を無効にすることはできます。 – Jarod42
@ Jarod42:確かに、非推奨の関数を使用しても無効になります... MSDNのドキュメントでは、廃止されたクラスが使用されている場合にのみC4996が 'deprecated'と報告されています。 headreファイルを含む? – jpo38
BTWでは、VS2012ではこの現象が見られましたが、2015では発生しませんでした。 – Motti