xcode - 反应原生 glog iOS:未知类型名称'_START_GOOGLE_NAMESPACE_'
问题描述
我已经构建了一个运行良好的 react native 的 android 项目。然后我从 iOS 部分开始。我正在使用 react-native-cli: 2.0.1 react-native: 0.60.4 和 Xcode 10 和 Mac OS Mojave
默认的 pod 文件在安装 glog/bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
时出现了一些问题,执行时出错pod install
。即使在 GitHub 上回答了所有问题并且堆栈溢出(例如安装 Cocoapods、重新安装、安装 ruby、链接 cocoapods)之后。后来在 GitHub 上,我发现 pod 文件有一些问题,因此将其替换为 GitHub 上为 react-native 指定的正确内容。根据这个链接仍然没有工作:https ://forums.expo.io/t/pod-install-errors-on-newly-detached-app-on-macos-installing-glog-bin-bash-configure- bin-sh-m-bad-interpreter-no-such-file-or-directory/10054然后我修改了 glog 文件,然后它成功安装了 glog。
之后,Need to implement mutex.h for your architecture, or #define NO_THREADS
我通过添加define no_thread
ios/Pods/glog/src/config.h 文件更正了 glog 的另一个问题
现在坚持这个
/Volumes/Projects/derive-mobile/ios/Pods/glog/src/utilities.h:148:1: Unknown type name '_START_GOOGLE_NAMESPACE_'
/Volumes/Projects/derive-mobile/ios/Pods/glog/src/utilities.h:168:1: Unknown type name 'int64'; did you mean 'google::int64'?
/Volumes/Projects/derive-mobile/ios/Pods/glog/src/utilities.h:170:20: Unknown type name 'int64'; did you mean 'google::int64'?
/Volumes/Projects/derive-mobile/ios/Pods/glog/src/utilities.h:175:1: Unknown type name 'int32'; did you mean 'google::int32'?
/Volumes/Projects/derive-mobile/ios/Pods/glog/src/utilities.h:236:1: Unknown type name '_END_GOOGLE_NAMESPACE_'
/Volumes/Projects/derive-mobile/ios/Pods/glog/src/utilities.h:150:1: Expected unqualified-id
我认为我的 glog 安装并不顺利。我已经在使用项目工作区了。
我检查了整个 GitHub Facebook react-native 和堆栈溢出,但没有发现任何东西。我尝试过遗留构建,清除派生数据。我也尝试过 pod deintegrate 和 pod install。对于 glog 我也尝试过cd ./node_modules/react-native/third-party/glog-0.3.4 && ../../scripts/ios-configure-glog.sh
我该如何解决这个问题?有什么方法可以完全删除 glog 并重新安装它,/bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
因为没有一个解决方案可以像上面提到的那样工作
解决方案
我试过dos2unix
但老实说,我不知道我应该将它应用到哪个文件。因为如果你这样做pod install --verbose
,你会看到它glog
被下载到一个随机的临时文件夹中,并被构建(这就是它失败的地方)。所以我没有控制权。
所以,我尝试了别的东西。在我的 Mac 中创建了一个新用户。Xcode是一个共享应用程序。而且pod install
刚刚工作。没有抱怨。现在,看,控制台输出的差异似乎指向trunk
.
在那里你可以看到“添加规范 repo 主干”...
没什么trunk
。它开始检查缓存,并下载包(如glog
和Folly
)。不知道为什么。从新用户安装依赖项轻而易举。
希望这个提示可能会导致不同的解决方案。它可能与用户设置/配置有关。像 UTF-8 什么的。
推荐阅读
- amazon-web-services - Terraform 添加 aws_api_gateway_integration 响应 json
- angular - ng s 后的 Angular 未处理异常
- javascript - 如何统一 Kotlin 和 Long.js 的划分结果
- reactjs - 如何单击 h1 标题以导航到组件?
- wordpress - 无法使用 WPGQL 获取菜单数据
- arrays - MIPS - 存储整数,排列它们,然后将整数加到一个总和中
- python - Django模板过滤已经呈现的查询集
- java - 如何优化 Hibernate buildSessionFactory();
- readline - 如何使用 readline() 连接字符串
- security - 通过浏览器上传整个 CdRom