如何在 XCode 3.2.5 项目中包含 Scintilla?

Posted

技术标签:

【中文标题】如何在 XCode 3.2.5 项目中包含 Scintilla?【英文标题】:How do I include Scintilla in an XCode 3.2.5 project? 【发布时间】:2014-01-08 13:54:22 【问题描述】:

我下载了 Scintilla,构建并运行了 ScintillaTest。那工作(几乎)很好。现在,我想将 Scintilla 包含在一个新项目中,但似乎无法弄清楚如何去做。我尝试按住 ctrl 并单击我的目标并选择Add Existing Framework...,然后选择Add Other...,最后选择位于scite337/scintilla/cocoa/ScintillaFramework/build/Release/Scintilla.framework 的文件(显然我省略了路径的第一部分)。

在我这样做之后,我只是在我的另一个未触及的新项目的 AppDelegate 中添加了一个 #import 语句。按下 Cmd+R 后会显示ScintillaView.h: no such file or directory... 我认为如果我将框架添加到我唯一的目标中,它会将头文件的位置传递给编译器(和预处理器)。显然它没有,所以我假设我必须将头文件(可能还有其他文件)的路径添加到构建设置,但是有很多构建设置,所以我不知道在哪里。

如果您无法访问 XCode 3.2.x,请在更新的版本中保留您的操作方式。我发现了很多关于更高版本的其他 XCode 问题的信息,在 XCode 3.2.5 中也能很好地工作(稍微搜索菜单项和设置面板)。

【问题讨论】:

【参考方案1】:

通过查看 ScintillaTest XCode 项目,我发现了它的工作原理:您必须导入名为 ScintillaFramework 的 XCode 项目,该文件名为 ScintillaFramework.xcodeproj(很明显)。但这还不够,之后 XCode 仍然无法在框架中找到头文件。我查看了 ScintillaTest 项目中的构建设置,发现“标题搜索路径”设置为 ../../。在我的项目中设置此失败,它必须少一个目录:../。不,我只需要让编译器接受 Scintilla 框架中的 C++ 结构。

更新: 奇怪的是,这停止了工作。我也不明白。所以我只是从那里右键单击我的目标:添加现有框架...->添加其他...->[浏览到ScintillaFramework/build/Release/Scintilla.framework]。这部分有效,请参阅我的最新问题。

【讨论】:

以上是关于如何在 XCode 3.2.5 项目中包含 Scintilla?的主要内容,如果未能解决你的问题,请参考以下文章

如何在最终应用中包含所有内容

在 Xcode 静态库中包含框架?

如何在 Xcode 中包含 <bits/stdc++>

如何在 Xcode 4.2 中包含低于 4.3 的 iOS SDK

重复符号:在静态库 B 中包含静态库 A,在 XCode 项目中也包含库 A 和 B

如何在 Xcode 中的 UI 测试类的目标中包含 SwiftyUserDefaults.swift?