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

时间:2013-04-21 03:14:04

标签: xcode gcc g++ clang

我曾经使用Xcode来构建和运行C++程序。

我使用命令行在我的Xcode项目中编译相同的源代码。

编译单个.cpp文件即可。

编译更复杂的项目(多个文件)不行。

我已尝试gccg++clangclang++

主要问题是未定义的符号。

您能说明如何通过命令行编译复杂项目(多个文件)吗?

1 个答案:

答案 0 :(得分:3)

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

  1. 编译所有源文件:

    c++ -c file1.cpp
    c++ -c file2.cpp
    c++ -c file3.cpp
    
  2. 链接您的最终可执行文件:

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

    您可以使用可选的-o标志来指定输出程序名称。它可能默认为a.out

  3. 最好使用某种构建工具(例如make)来自动执行此过程,否则您会发现它非常容易出错。

相关问题