xCode正在编译旧的C++代码

xCode compiling old C++ code

本文关键字:C++ 代码 编译 xCode      更新时间:2023-10-16

我正在运行Xcode 4.4.1,这是一个很难回答的问题。我可以开始新的简单的C++命令行项目并进行良好的编译。但是,当我从左窗格中删除源文件并拖放新的.cpp/.h文件并点击compile时,"旧的"以前的代码仍然会编译并显示在提示中。我将从VS 2010转会而来,我知道这一定是代表我的愚蠢的链接疏忽。如何简单地从其他地方添加源文件,并通过添加到项目中进行编译?

我知道这是一个棘手的问题,但我环顾四周,失去了一点耐心。

谢谢大家。

Xcode的行为非常奇怪,左侧显示的文件可能无法反映真实的文件层次结构,如果存在某些内容,并不意味着它将被编译。

您必须使用右侧面板中的检查器手动检查每个文件,看看它是否已添加到构建中,或者更方便地检查"Project.xcodeproject/Project.pbxproj"或类似的内容。它是一个XML文件,用于维护有关添加到项目中的所有文件、文件夹和项的信息,包括如何处理这些文件。

生成的文件是可读的,Xcode温和地添加了很多注释:)我认为你必须检查第一部分,它声明了所有资源,有一个属性说明你想对每个文件做什么。

我希望这将帮助你:)


编辑:

您可以通过选择文件并显示"文件检查器"(alt + cmd + 1)来检查当前目标是否包含该文件。信息位于"目标成员资格"部分,请确保至少检查了一个项目。

关于project.pbxproj,相关部分是PBXBuildFile,它必须是第一个。每个条目都是对构建步骤的引用,并指示必须使用isa字段(PBXBuildFile)对哪些对象(fileRef)执行哪些操作。

fileRef与下面的组层次结构和PBXFileReference部分中的文件匹配。它是PBXFileReference部分,指示它是什么类型的文件(使用lastKnownFileType属性)。