我在Ubuntu中使用apt-get 安装了Clang,我可以使用它成功编译C文件.但是,我不知道如何通过它编译C++.编译C++需要做什么?
Kim*_*man 45
此外,对于后代 - Clang(如GCC)接受-x开关来设置输入文件的语言,例如,
$ clang -x c++ some_random_file.txt
Run Code Online (Sandbox Code Playgroud)
这个邮件列表线程解释了clang和之间的区别clang++:clang和clang ++之间的区别
jdh*_*hao 33
我不知道为什么没有直接解决问题的答案.当你想编译C++程序时,最好使用clang++.例如,以下内容适用于我:
clang++ -Wall -std=c++11 test.cc -o test
Run Code Online (Sandbox Code Playgroud)
如果编译正确,它将生成可执行文件test,您可以使用运行该文件./test.
或者你可以clang++ test.cc用来编译程序.它将生成一个名为的默认可执行文件a.out.使用./a.out运行该文件.
如果你熟悉g ++,整个过程就像g ++一样.请参阅此文章以查看-Wall选项中包含的警告.此页面显示Clang支持的诊断标志列表.
解决方案一:
clang++ your.cpp
Run Code Online (Sandbox Code Playgroud)
解决方案2:
clang your.cpp -lstdc++
Run Code Online (Sandbox Code Playgroud)
解决方案3:
clang -x c++ your.cpp
Run Code Online (Sandbox Code Playgroud)
我在从源代码构建 Clang 时遇到了类似的问题(但不是使用sudo apt-get install.这可能取决于您运行的 Ubuntu 版本)。
可能值得检查是否clang++可以找到 C++ 库的正确位置:
g++ -v <filename.cpp>比较“#include < ... > 搜索从此处开始:”下的和的结果clang++ -v <filename.cpp>。