私は C++11 でアプリケーションを開発しており、コンパイラは CLang++ 3.3 です。Linux Mint 14 で Netbeans 7.3 IDE も使用しています。
私のテストはすべて GoogleTest (gtest-1.6.0) で行われ、この投稿のタイトルに記載されている警告を除いて、ほとんどすべてが正常に機能しています。
例として、netbeans によって実行されるコマンドラインを次に示します。
clang++ -pedantic-errors -lgtest -pthread -c -g -Wall -std=c++11 -pedantic-errors -lgtest -pthread -MMD -MP -MF build/Debug/CLang-Linux-x86/_ext/1802678175/main.o.d -o build/Debug/CLang-Linux-x86/_ext/1802678175/main.o ../GIT_CryptoCode/src/main.cpp
理由はわかりませんが、コマンドにはいくつかの属性が2回含まれており、もちろん同じ警告が2回出ます。これは、プロジェクトのプロパティで行ったことです。
追加オプションを削除すると、gtest が機能せず、コマンド ラインは次のようになります
clang++ -c -g -Wall -std=c++11 ...
。一部の属性が重複しないようにするにはどうすればよいですか?
まあ、cmakeでも、Clangで警告が表示されました(今回は1回表示されます:))。GCC 4.7 でもテストしましたが、警告は表示されませんでした。GCC の cmake ファイルで使用するコマンド ラインは次のとおりです。
set (CMAKE_CXX_FLAGS "-Winline -Wall -Werror -pedantic-errors -pthread -std=c++11")
したがって、Clang が問題のようです。この警告の出所と削除方法を知っている人はいますか? これは Clang のバグですか?
ご協力いただきありがとうございます。