如何用clang编译C ++
我已经在Ubuntu下使用apt-get安装了clang ,并且可以使用它成功编译C文件。 但是,我不知道如何通过它来编译C ++。 我需要做什么来编译C ++?
命令clang
用于C,命令clang++
用于C ++。
另外,为后代叮当(如GCC)接受-x开关来设置input文件的语言,例如
$ clang -x c++ some_random_file.txt
这个邮件列表线程很好地解释了clang和clang ++之间的区别: http : //clang-developers.42468.n3.nabble.com/Difference-between-clang-and-clang-td3001279.html
从源码构buildclang时,我遇到了类似的问题(但是不能使用sudo apt-get install,这可能取决于您运行的Ubuntu版本)。
这可能是值得检查,如果铿锵++可以find您的C ++库的正确位置:比较“#包括<…>search开始”下g ++ -v <filename.cpp>和clang ++ -v <filename.cpp>的结果这里:”。
我不知道为什么没有直接解决问题的答案。 当你想编译C ++程序。 最好用clang ++,例如下面这个为我工作:
clang++ -Wall -std=c++11 test.cc -o test
如果编译正确,会产生可执行文件test
,可以使用./test
运行该文件。
或者你可以使用clang++ test.cc
来编译程序,它会产生一个名为a.out
的默认的可执行文件。 使用./a.out
来运行该文件。
如果你熟悉g ++,整个过程就像g ++一样。 看到这篇文章 ,检查哪些警告包括在-Wall
选项。 该页面显示了clang支持的诊断标志列表。