私はVisual Studio 2017を実行しています。私はプロジェクトにChaiScriptというスクリプト言語を追加しようとしていますが、/ Wallをオンにしているときには、私はまた、警告をエラーとして扱っています(私はこのようにとどまることを好みます)。Visual Studioでのコンパイル警告を一時的に無効にする
私は、ChaiScriptヘッダーファイル(1つのファイルのみを含める必要があります)を含めるときに、すべての警告を一時的に無効にしようとしていると考えました。最初は、私はこれをしなかった...
#pragma warning(disable : 4061)
#pragma warning(disable : 4068)
#pragma warning(disable : 4191)
#pragma warning(disable : 4355)
#pragma warning(disable : 4365)
#pragma warning(disable : 4371)
#pragma warning(disable : 4464)
#pragma warning(disable : 4514)
#pragma warning(disable : 4571)
#pragma warning(disable : 4623)
#pragma warning(disable : 4625)
#pragma warning(disable : 4626)
#pragma warning(disable : 4668)
#pragma warning(disable : 4710)
#pragma warning(disable : 4774)
#pragma warning(disable : 4820)
#pragma warning(disable : 5026)
#pragma warning(disable : 5027)
#include <chaiscript\chaiscript.hpp>
これは動作しますが、私はコンパイルすることができます...しかし、私は、だから私はなって....これらの警告は、コンパイルプロセスの残りのために再び有効になっていると思いましたこの中にそれ...
#pragma warning(push)
#pragma warning(disable : 4061)
#pragma warning(disable : 4068)
#pragma warning(disable : 4191)
#pragma warning(disable : 4355)
#pragma warning(disable : 4365)
#pragma warning(disable : 4371)
#pragma warning(disable : 4464)
#pragma warning(disable : 4514)
#pragma warning(disable : 4571)
#pragma warning(disable : 4623)
#pragma warning(disable : 4625)
#pragma warning(disable : 4626)
#pragma warning(disable : 4668)
#pragma warning(disable : 4710)
#pragma warning(disable : 4774)
#pragma warning(disable : 4820)
#pragma warning(disable : 5026)
#pragma warning(disable : 5027)
#include <chaiscript\chaiscript.hpp>
#pragma warning(pop)
は今、私は当時、これらの警告のチェックに行く、それは警告なしヘッダをコンパイルしまうので、これはそれを作るだろうと思った....が、後に、私はこれを行うようです...私はまだ4つのC4710の警告を得る...私は何か間違っている?
別の場所には、原稿が含まれていますか?私はあなたがchaiscriptを含めることを始める前にあなたが自由に警告していたと思いますか? – Tas
文字通り、私のプログラムは上記のコードを持つ空の.hファイルであり、.hファイルを含む.cppです。私はちょうど4つの警告にエラーを取得することができた、私のポストを更新しました。そうではありません。 – Rick
リンク時にインライン展開が行われた場合、リンカが '#pragma warning'をどのように解釈するかは直感的ではありません。たとえば、ソースファイル(このヘッダーを含む)がコンパイルされた後、リンクが正常に行われます。その時、 '#pragma warning(pop)'が見つかりコンパイルされました。 VSがいつインライン展開を実行するかはわかりませんが。 –