尝试使用clang编译时出错 我使用Ubuntu 14并尝试在终端中编译一个C++程序。到目前为止,我使用的是g++并且编译工作没有问题。由于我更喜欢来自clang的错误消息,我希望从现在开始使用clang++

尝试使用clang编译时出错 我使用Ubuntu 14并尝试在终端中编译一个C++程序。到目前为止,我使用的是g++并且编译工作没有问题。由于我更喜欢来自clang的错误消息,我希望从现在开始使用clang++,c++,terminal,clang++,C++,Terminal,Clang++,到目前为止,我使用了这个命令 g++ -oexec main.cpp file.cpp 但是当我尝试的时候 clang++ -oexec main.cpp file.cpp 我得到了错误 clang: error: cannot specify -o when generating multiple output files 是所有铿锵旗帜的列表。正如你所看到的,oexec不是其中之一。相反,Clang将您的命令作为-o写入输出读取并抛出错误,因为在输出到多个文件时不能使用-o。它对我有效

到目前为止,我使用了这个命令

g++ -oexec main.cpp file.cpp
但是当我尝试的时候

clang++ -oexec main.cpp file.cpp
我得到了错误

clang: error: cannot specify -o when generating multiple output files

是所有铿锵旗帜的列表。正如你所看到的,oexec不是其中之一。相反,Clang将您的命令作为-o写入输出读取并抛出错误,因为在输出到多个文件时不能使用-o。

它对我有效。我认为在使用clang编译时,您也在向编译器传递'-c'标志


当您通过'-c'时,它也不会与clang/gcc一起工作。这是因为当您传递'-c'时,您实际上是说将每个文件编译成对象文件.o文件,因此,在这种情况下提供'-o'是不正确的。

您确定Clang有选项oexec,因为谷歌搜索它不会给我任何结果。这些是提供给Clang的唯一选项吗?因为这应该可以工作并生成一个名为exec的可执行文件。如果指定例如-c,则该选项不起作用,因为clang无法将多个源文件折叠到单个对象中。当我不使用-o标志时,该选项起作用,但它会将程序写入a.out文件中。如何为输出指定特定的名称?@Jonas Try-o yourfilename我尝试了这个方法,当我只使用一个*.cpp文件时,它会起作用,但是如果我使用multiple,错误会再次发生