我试图在Xcode中打开一个现有的C++开源库,并添加/修改我的内容发布它。该库是Tesseract-OCR
,它不包括.xcodeproj
文件。
由于Xcode可以作为集成开发环境,是否有可能在Xcode中将一堆文件作为单个项目打开?是否有一种简单的方法可以生成Xcode项目?
根据您想要的IDE集成级别,有几种不同的方法可供选择。直接将基于Makefile的项目导入到Xcode中是不可能的。您可以创建一个通过Makefile进行构建的项目,但是由于编辑器功能(如单词自动完成)依赖于Xcode能够解析项目中的文件,因此您将无法获得使用IDE的许多好处。不过,您仍然可以使用调试器。为此,请创建一个新项目,并添加一个自定义目标,其中包含调用Makefile的脚本构建阶段。
如果正在构建的项目非常容易编译,即无需设置许多宏、包含路径等,则可以简单地创建一个空项目,只需将所有源文件添加到其中即可。我已经广泛使用了这种方法来构建boost库。如果这是一个“configure && make”类型的项目,则可能首先需要运行配置步骤,并确保在项目中包含任何顶层config.h文件。
如果该项目具有复杂的makefile,则创建有用的Xcode项目可能会是一项繁琐的任务。
要从现有的cmake项目创建Xcode项目,您可以运行cmake -G Xcode
。它会生成一些文件夹和文件,除了项目文件之外,因此最好首先为其创建一个文件夹。例如:
mkdir -p build/xcode
cd build/xcode
cmake -G Xcode ../..
我知道你特别要求使用Xcode,但是如果你实际上想解决的问题是“我有现有的C++代码可以从命令行构建和运行,并且我想在IDE中编写和调试它,我该怎么办?”我的强烈建议是避免使用Xcode,而选择Eclipse。
理由是,据我所知,Xcode没有办法摄取命令行构建环境,并且有效地需要您从头开始重新创建make过程。对于小型项目来说很好,但任何具有多个源文件的项目都很快变得痛苦。而在Eclipse中,一切都是围绕Makefile构建的。因此,在我的情况下,我在Eclipse中更快地完成了“使用工作代码完成逐步调试”的步骤,而在Xcode中则永远无法完成。当然,这可能是因为我是一个Xcode新手,但这是我的观点。
Xcode是一个可用的IDE,用于库的创建。
当然,一个好的第一步是查看是否有一个源代码可以使用包含的配置脚本自行构建。
如果没有,那就成了一个问题,需要链接多少个库。
在线资源(或者至少曾经有过)可以用Xcode(或者它的前身Product builder)将Unix项目移植到Mac上。
在这里有一个很好的教程:http://www.macresearch.org/tutorial-introducing-xcode-30-organizer
另一个很好的参考是Darwin Ports。
至于自己做这件事。你可以在XCode中构建基于c++的库。人们每天都在这样做。你甚至可以使用其中一个Xcode模板来开始。
然而,库开发需要比简单的Cocoa“Hello World”应用程序更多的Xcode经验。
剩下的问题将是确保源代码的依赖关系已经构建到Mac的SDK中。(不要指望链接到MFC)
这是一个普遍的问题...所以这是一个普遍的答案。