我有一个VST插件的代码,需要将其中的一部分移植到iOS应用程序。
我尝试构建OSX版本并使用lib.a
但它不起作用。当我打开它的iOS版本时,Xcode显示它缺少了tagret。
如果我使用所有JUCE模块将代码直接复制到Xcode中,并且我设置了标题搜索路径,那么我会在no such type for String
在最新的JUCE更新之后,Xcode会给出相同的错误,直到我更新JUCE文件本身,所以我认为JUCE构建设置或新版本的配置做了不同的事情。如何将此代码转换为不同的Xcode项目,以便我可以使用它?
我可以将其编译为库并通过标题使用对象吗?
答案 0 :(得分:3)
JUCE旨在包含在Introjucer / Projucer(JUCE项目管理工具)生成的项目中。如果没有这个,将不会设置正确的预处理器定义。
如果你真的需要在你的程序中包含JUCE源代码,你可以手动设置这些预处理器定义(从生成的项目中查看AppConfig.h头,以了解这将是多少工作) ,但你真的会违背正常的“JUCE方式”。
简单地包含标题和链接到库将无法付出相当大的努力,因为包含结构是......奇怪的...并且没有任何库直接链接(生成的项目包含所有JUCE来源正常,所以没有必要)。
直接在项目中添加要编译的JUCE源文件(即.cpp和.mm)将导致编译错误,因为它们需要按照头文件(标题)强制要求的非常特定的顺序进行编译文件#include
设置依赖项后的某些实现文件。)
简而言之,如果你可以,我会建议用Projucer生成项目,并根据需要添加其他源文件,而不是相反。