我使用GPUImage 框架创建了一个示例应用程序来执行凹凸失真。我将此框架添加到我的应用程序中,但我看到以下错误
找不到词法或预处理器问题“GPUImage.h”文件。
我已将该-ObjC
标志添加到其他链接器标志,但我仍然看到此错误。我怎样才能解决这个问题并让我的应用程序编译?
我使用GPUImage 框架创建了一个示例应用程序来执行凹凸失真。我将此框架添加到我的应用程序中,但我看到以下错误
找不到词法或预处理器问题“GPUImage.h”文件。
我已将该-ObjC
标志添加到其他链接器标志,但我仍然看到此错误。我怎样才能解决这个问题并让我的应用程序编译?
将 GPUImage 框架添加到 XCode 项目可能会很棘手。因此,我添加了详细的分步说明,其中包含有关如何执行此操作的图像。
静态编译方法(详细的解决方案,以免我们搞砸了)
这是静态编译方法。在这基本上我们将使用 ./build.sh 文件编译框架。只需将它添加到我们的 XCode 项目中,然后配置 XCode 以正确使用它。
GPUImage
终端中的文件夹运行./build.sh
注意:这将为您的 mac 上的所有 sdk 编译并创建即用型二进制文件。
build.sh 创建一个名为build的文件夹并生成已编译的二进制文件并将它们转储到以下文件夹:Release-iPhone、Release-iPhoneOS、Release-iphonesimulator等文件夹。
现在将iPhone拖放 到您的 XCode 项目中。确保选中“复制到..”选项。
笔记:
在项目资源管理器中选择您的项目 >目标下的项目名称> 选择构建阶段 >使用库展开链接二进制文件
将libGPUImage.a添加到 Link Binary With Libraries 部分。您可能需要右键单击libGPUImage.a ,然后在 Finder 中打开,最后将其拖放。
在此过程中,还将以下 GPUImage 的依赖框架/库 CoreMedia、CoreVideo、OpenGLES、AVFoundation、QuartzCore 添加 到Link Binary With Libraries部分
现在,让我们配置.h标头。
在项目资源管理器中选择您的项目 >目标下的项目名称> 选择构建设置 > 并键入搜索路径以查看搜索路径部分。
通过单击值字段打开标题搜索路径。
将lib文件夹拖放到该弹出窗口。注意:如果它显示绝对路径,请将其更改为看起来$(SRCROOT)/path/to/lib/。(您应该拥有与您的 xcode 项目相关的框架,请参见步骤 6)。
对库搜索路径也重复 11 和 12 。
附加提示:您可以将.h文件添加到Library Search Paths或Headers Search Paths,您可以使它们成为Recursive。我有一个名为Dependencies文件夹的主根文件夹,其中保存了所有依赖项,例如 MySDK 框架,包括 Release-iPhone。而且我在 Dependencies (根文件夹)只有一个搜索路径,并使其成为recursive。
您是否按照项目页面上自述文件中的所有说明进行操作?从安装说明:
您还需要找到框架标头,因此在项目的构建设置中,将标头搜索路径设置为从应用程序到 GPUImage 源目录中 framework/ 子目录的相对路径。使此标头搜索路径递归。
如果您看到上述错误,这意味着您没有将 Header Search Paths 指向相对于您的项目安装 GPUImage 的正确目录,和/或没有单击左侧的复选框进行这些搜索路径递归。
我在这个答案中展示了一些你需要去哪里设置它的屏幕截图,它解释了 Core Plot 框架的类似内容。同样的原则也适用,只是你需要找到你安装 GPUImage 框架的位置。
我将相对路径添加到“标题搜索路径”,但仍然存在“未找到”的错误。
然后,我将路径添加到“用户标题搜索路径”,它可以工作。
可以帮助你。