我正在用 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
我不知道为什么,但是该命令包含两次一些属性,这些属性当然会两次发出相同的警告。这就是我在项目属性中所做的:
如果我删除附加选项,gtest 将无法正常工作,并且命令行会变成这样:clang++ -c -g -Wall -std=c++11 ...
。我应该怎么做才能不让某些属性重复?
好吧,即使使用 cmake,我也收到了 Clang 的警告(这次出现了一次 :))。我还使用 GCC 4.7 进行了测试,但没有收到任何警告。这是我在 GCC 的 cmake 文件中使用的命令行:
set (CMAKE_CXX_FLAGS "-Winline -Wall -Werror -pedantic-errors -pthread -std=c++11")
因此,Clang 似乎是问题所在。有谁知道这个警告来自哪里以及如何删除它?这是 Clang 错误吗?
谢谢你的帮助。