如何用 Clang 中的类编译项目?

How to compile a project with clases in Clang?

看到这个post: How do you compile a C++ program with multiple class files from OS X Terminal? 我看到用 gcc 编译一个带有 class(带有 .h 和 .cpp)的项目很容易:

g++ [list of all source files] -o [executableName]

它实际上对我有用,但是当我尝试使用 Clang:

clang++-11 main.cpp Person.hpp Person.cpp -o main

我得到:

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

注意:我知道如何使用 Makefile,但我希望有一种在 Clang 中像在 gcc.

中那样快速编译的方法

如果你运行 clang++-11 main.cpp Person.hpp Person.cpp -o main带头文件,clang会注意到这一点并编译预编译头“Person.pch”,默认的-o Person.pch是默示。同时,您还想获得另一个输出文件“main”。因此,clang 抱怨它无法生成多个输出文件,-o Person.pch 和 -o main.

预编译头需要单独编译。

clang++-11 Person.hpp
clang++-11 main.cpp Person.cpp -o main

第一步不需要,如果跳过,则不使用预编译头。