如何在Mac上通过命令行编译C++程序

4

我之前使用 Xcode 来构建和运行 C++ 程序。

现在,我使用命令行来编译同样的源代码,并将其添加到我的 Xcode 项目中。

编译单个的 .cpp 文件是没有问题的。

但是,编译更复杂的项目(多个文件)就会遇到未定义的符号问题。

我尝试了 gcc, g++, clang, clang++,但是问题依然存在。

你能否介绍一下如何通过命令行编译更复杂的项目(多个文件)呢?


你可能需要阅读一些文档。特别是要查看 -c 标志。 - Carl Norum
1个回答

4

根据你的描述,看起来你没有使用-c(编译但不链接)标志。构建项目的步骤如下:

  1. Compile all of the source files:

    c++ -c file1.cpp
    c++ -c file2.cpp
    c++ -c file3.cpp
    
  2. Link your final executable:

    c++ file1.o file2.o file3.o
    

    You can use an optional -o flag to specify the output program name. It probably defaults to a.out.

最好使用某种构建工具(例如 make)来自动化此过程,否则你会发现这很容易出错。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接