iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 无法在Xcode 4中编译plcrashreporter大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以在编译设备时使用plcrashreporter项目页面上提供的预构建框架,但不能用于模拟器.@L_@R_696_11284@_1@同样的 problem described here.

我假设预构建的框架不支持模拟器的架构,所以我下载了plcrashreporter源代码.我打开了Xcode项目并选择了CrashReporter-iOS-Simulator> iPhone 4.3模拟器目标.当我尝试构建项目时,我收到此错误

libtool: unkNown option character `D' in: -D__IPHONE_OS_VERSION_MIN_required=30000

当我尝试构建大多数其他目标(例如设备)时,我得到了同样的错误.

我的下一步是尝试将源文件添加到我的项目中.我不再有上述问题;但是,当我尝试编译时,我收到此错误

Fatal error: 'crash_report.pb-c.h' file not found [2]
 #import "crash_report.pb-c.h"
         ^
1 error generated.
Command clang Failed with exit code 1

错误消息中提到的crash_report.pb-c.h文件根本不存在;我搜索了plcrashreporter源代码树和互联网.因此,我必须假设这个文件应该以某种方式生成,但我无法弄清楚如何.

(在PLCrashReport.m中注释掉包含crash_report.pb-c.h的行会导致许多其他编译错误.)

解决方法

你是正确的,因为文件不存在正常,crash_report.pb-c.c也不存在,这将是你之后的下一个错误.

crash_report.pb.h和crash_report.pb.c文件是在编译时通过构建规则生成的.您需要在构建过程中添加自定义脚本才能生成它们.

首先,确保项目的plcrashreporter文件夹中有protoc-c(plcrashreporter-1.0 / Dependencies / protobuf-2.0.3 / bin / protoc-C).他们深埋了它.这是您的脚本将运行的.

然后找到你的crash_report.proto文件.这是protoc-c用于创建丢失文件的主要输入.您可以将此目录手动放入脚本中,也可以制定规则以在每个* .proto文件上运行脚本.我做后者.

然后编辑构建规则以包含一个脚本,该脚本使用标志–c_out =“${DERIVED_FILES_DIR}”运行protoc-c,并将crash_report.proto文件作为两个输入,这将输出crash_report.pb-ch和crash_report.pb- cc进入与crash_report.proto文件相同的目录,该文件应该已在项目中访问.

Xcode 4(及更高版本)中的构建规则位于项目的目标构建规则选项卡下.您可以在所有其他构建规则之前添加构建规则.这是我在xcode中的样子:

你可能不得不摆弄目录

大佬总结

以上是大佬教程为你收集整理的ios – 无法在Xcode 4中编译plcrashreporter全部内容,希望文章能够帮你解决ios – 无法在Xcode 4中编译plcrashreporter所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。