使用-std = gnu ++ 11编译clang ++失败

时间:2014-06-09 20:25:39

标签: c++11 clang clang++

我正在尝试通过clang ++ 3.4版编译我的项目。我正在使用标志-std = gnu ++ 11,它失败了。

之前我使用llvm 3.3,一切都很好。但现在我有这样的错误信息:

clang (LLVM option parsing): Unknown command line argument '-std=gnu++11'.  Try: 'clang (LLVM option parsing) -help'
clang (LLVM option parsing): Did you mean '-stats=gnu++11'?

1 个答案:

答案 0 :(得分:5)

测试表明,当使用其他一些伪造选项时,可能会出现此错误。例如:

$ clang -mllvm -std=gnu++11 test3.cc -o test3
clang (LLVM option parsing): Unknown command line argument '-std=gnu++11'.  Try: 'clang (LLVM option parsing) -help'
clang (LLVM option parsing): Did you mean '-stats=gnu++11'?

-mllvm选项告诉clang不处理-std=gnu++11选项本身,而是将其传递给LLVM。但LLVM不知道这个选项意味着什么。

要解决此问题,请确保您的其他选项正确无误;错误消息导致您认为问题出现在某个地方。