首页 > 解决方案 > 反应原生 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_threadios/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因为没有一个解决方案可以像上面提到的那样工作

标签: xcodereact-nativecocoapodsfbsdkglog

解决方案


我试过dos2unix但老实说,我不知道我应该将它应用到哪个文件。因为如果你这样做pod install --verbose,你会看到它glog被下载到一个随机的临时文件夹中,并被构建(这就是它失败的地方)。所以我没有控制权。

所以,我尝试了别的东西。在我的 Mac 中创建了一个新用户。Xcode是一个共享应用程序。而且pod install刚刚工作。没有抱怨。现在,看,控制台输出的差异似乎指向trunk.

这个来自新用户。有用。 在此处输入图像描述

在那里你可以看到“添加规范 repo 主干”...

现在查看我的非工作命令日志(来自我的原始用户)。 在此处输入图像描述

没什么trunk。它开始检查缓存,并下载包(如glogFolly)。不知道为什么。从新用户安装依赖项轻而易举。

希望这个提示可能会导致不同的解决方案。它可能与用户设置/配置有关。像 UTF-8 什么的。


推荐阅读