での#pragma使用-Werrorを無効にする方法を、私はすべての警告をエラーとして扱うためにはgccを伝えるために-Werrorを使用し始めています。時々私は、大きなビルド出力内の1つまたは2つ(深刻な)警告を逃したとしては、選択的に警告無料のアプリケーションへの私の探求ではgcc
これは確かに非常に便利です。 残念ながら、私のプロジェクトでは、sqlite3を使用しています。これには、sqlite Webサイトに記載されているように、削除したくないという警告が多く含まれています。
私は、そのファイルのエラーと警告を処理することを停止するためのgccを伝えるためにsqlite3.cファイルに入れることができますいくつかの#pragmaを使用する方法があります場合、私は思っていました。
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wfloat-equal"
#pragma GCC diagnostic ignored "-Wundef"
...
...残念ながら、いくつかの警告がある:なし成功 と
#pragma GCC diagnostic ignored "-Werror"
私もして問題を引き起こす警告を1枚ずつ一覧表示することを試みた:
は、私が試しました完全に無効にすることはできません(つまり、初期化はポインタターゲットタイプから修飾子を破棄します)。
アイデア/提案はありますか?
は、私は残念ながら、私はautoconfの/ automakeをを使用している、そのことを考えて...、それはすでにかなり厄介です。 ./configure中に警告(および-Werror)が選択されるので、ホストターゲットのデバッグバージョンをビルドするときに有効にすることができます。ターゲット(組み込みLinux)システムのビルド時に警告が無効になります。 – fabrizi0
@ fabrizi0特定のファイルに対して 'automake'を使って特別なルールを追加することは問題ありません。私はそれに慣れていませんが、正確にこれを行う方法については、そのドキュメントを参照する必要があります。また、これを[tag:automake]とタグ付けして、その行に沿って回答を受け取る場合は、-Werrorを無効にする方法や、あるファイルに対して-wを指定する方法を指摘するために質問を編集してください。 – fuz
FUZxxl:残念ながら私はautomakeがper-objectフラグのみをターゲットフラグでサポートしているとは思っていませんでした。この記事でも述べたように:http://stackoverflow.com/questions/149324/setting-per-file-flags-with-automake私はファイルごとにそれを行う良い方法がない場合、私はsqliteのlibを作成し、それに対して私のアプリケーションをリンクする必要があります。 – fabrizi0