2013-04-21 142 views
2

我以前用Xcode来构建和运行C++程序。如何在Mac上通过命令行编译C++程序

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

编译个人.cpp文件是可以的。

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

我试过gccg++clang,clang++

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

您能否演示如何通过命令行编译复杂的项目(多个文件)?

+0

你应该阅读一些文档。特别是,请查看'-c'标志。 – 2013-04-21 03:20:58

回答

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

这将是更好地使用某种类型的构建工具(如make,例如)自动执行此过程,否则你会发现它是非常容易出错。

相关问题