学习在 Xcode 中编译 C++

Posted

技术标签:

【中文标题】学习在 Xcode 中编译 C++【英文标题】:Learning to compile C++ in Xcode 【发布时间】:2022-01-10 05:31:51 【问题描述】:

我已经开始在学校广泛使用 c++,现在我的程序已经到了拥有超过 1 个文件(即头文件、驱动程序、实现文件)的地步。我对软件开发知之甚少,无法通过查看苹果的指南来理解或掌握如何设置构建过程。有人可以指导我如何在 xcode 中编译一个带有头文件和两个 c++ 文件的简单 c++ 项目吗?我需要先制作一个makefile吗??

【问题讨论】:

【参考方案1】:

在 Xcode 中:

选择文件 -> 新建项目... 选择 Mac OS X -> 应用程序 -> 命令行工具(我假设您正在制作一个使用标准输入/标准输出的简单 C++ 应用程序,而不是基于 Cocoa 的 GUI) 对于“类型”,选择“C++ stdc++” 单击“选择...”并为项目命名和位置 将出现一个新的项目窗口。打开右侧的“源”组(文件夹)。将有一个main.cpp 文件。如果需要,您可以使用该文件,或者选择它并按 Delete 键将其删除。 选择项目 -> 添加到项目... 选择要添加到项目中的文件(头文件和 .cpp 文件)。 选择 Build -> Build and Run 运行您的项目

如果您打算将 Xcode 用作您的主要 IDE,您将需要了解有关 Xcode 的更多信息。 Xcode 有很多文档,但其中大部分是为创建 Cocoa 应用程序的人设计的。要开发简单的 C++ 控制台应用程序,您可能可以从 Xcode Workspace Guide 开始。

【讨论】:

【参考方案2】:

你评论了目标,所以我想我可以为你解释一下:

您现在不必担心,如果您选择 C++ 命令行工具项目模板,那么已经有一个目标和一些为您制作的构建配置,它们应该已经可以工作了。

然后有多个makefile Xcode更喜欢将其编译信息保留在项目文件中,目标用于构建不同的产品,如果您单击标准目标上的下拉箭头(应该是您的项目的名称),您可以看到“构建阶段”,本质上是需要特定输入的构建步骤,使用“使用源代码编译”和“复制标题”阶段,您可以有两个目标,它们使用单​​独的 main.cpp 文件并制作单独的应用程序,但仍共享一些源文件在项目中。

当您点击“构建”按钮时,活动目标是 Xcode 将要使用的目标。

构建配置更改了传递给 GCC 编译器的值(负责编译和链接所有源文件的后端,您可以在构建窗口中看到的消息)和一些 xcode 自行处理的进程。这些值从自定义宏到执行的优化级别。传统上,开发配置具有低优化并填充变量符号以用于调试目的,然后具有高度优化且不支持调试和其他开发人员功能的部署配置。如果您想使用这些选项,您可以通过右键单击项目文件,选择获取信息并打开“构建”选项卡为整个项目更改它们,您可以通过右键单击目标为每个目标更改它们,选择获取信息并打开“构建”选项卡并使用左侧的下拉菜单选择要更改的配置。

如果您单击任何选项,xcode 通常会很好地解释它的作用 - 如果您不理解(有一些奇怪的选项),那么最好将它们保留为任何值。

【讨论】:

谢谢!我感谢所有的帮助。希望有一天我能够回答别人的问题...【参考方案3】:

如果你已经在 xcode 中建立了一个 C++ 项目,你应该是正确的,只需点击“build” - 不需要旋转 makefile...

【讨论】:

那么构建会自动完成所有的链接和一切工作吗?这些关于主动目标的讨论是什么?

以上是关于学习在 Xcode 中编译 C++的主要内容,如果未能解决你的问题,请参考以下文章

rcpp报错,在mac上学习Rcpp和C++

C++学习(二六二)LLDB

XCode不能在预编译头中使用c++静态库。

在xcode中编译ios项目时找不到c++头文件

iOS学习使用 Xcode 开发 Clang 插件

无法使用 libpqxx 和 xcode4 (c++) 进行编译