Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何编译C++;在Mac上通过命令行编程_Xcode_Gcc_G++_Clang - Fatal编程技术网

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

Xcode 如何编译C++;在Mac上通过命令行编程,xcode,gcc,g++,clang,Xcode,Gcc,G++,Clang,我曾经使用Xcode来构建和运行C++程序 我在Xcode项目中使用命令行编译相同的源代码 编译单个.cpp文件是可以的 编译更复杂的项目(多个文件)是不正确的 我试过gcc,g++,clang,clang++ 主要问题是未定义的符号 您能演示如何通过命令行编译复杂的项目(多个文件)吗?根据您的描述,听起来您没有使用-c(编译,但不链接)标志。构建项目的步骤: 编译所有源文件: c++ -c file1.cpp c++ -c file2.cpp c++ -c file3.cpp 链接您的最终

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

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

编译单个
.cpp
文件是可以的

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

我试过
gcc
g++
clang
clang++

主要问题是未定义的符号


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

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

  • 编译所有源文件:

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

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


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

    您可能应该阅读一些文档。尤其要检查
    -c
    标志。