![](/img/trans.png)
[英]CocoaPods with React Native: `ld: library not found for -lReact`
[英]JUCE and React Native - linker error “ld: library not found for -lReact”
我使用CactPods与React Native: ld: library not found for -lReact
得到此链接器错误
我已按照https://facebook.github.io/react-native/docs/embedded-app-ios.html#content上的指南进行操作
我正在尝试与现有的iOS项目集成,这是一个JUCE C ++项目。 JUCE生成Xcode项目文件,所以我相信我需要使用Cocoapods方法。
我正在做的步骤是:
npm install react-native
(与.jucer
文件一起) Builds/iOS
创建Podfile(但以../../node_modules
作为路径) pod install
GCC_PREPROCESSOR_DEFINITIONS
以包含$(inherited)
显示此问题的示例项目位于https://github.com/adamski/juce-native-navigation/tree/react-native-cocoapods
我认为Introjucer生成的项目正在发生一些事情,因为我在一个全新的Xcode项目上尝试了整个过程并且构建良好。
我也尝试将libReact.a
添加到'Link Binary With Libraries'部分,但这似乎没有帮助。
我查找了Introjucer生成的项目与Xcode生成的项目之间的差异。
一个显着的区别是CONFIGURATION_BUILD_DIR
或“按配置构建产品路径”
我从Xcode生成的项目$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
复制了设置
这允许链接完成并成功构建:)
转到您的项目 - >您的目标 - > 构建阶段 - >使用库链接二进制文件,您可能会在此处看到一些红色条目引用React库文件。 只需删除那些红色条目,你应该好好去。
如果没有红色条目,那么只需检查Link Binary With Libraries列表中的lib列表没有使用'npm uninstall lib_name'命令从React项目中删除的项目。
某些步骤可能没有必要,并且会隐藏其他更大问题。 特别:
adjust GCC_PREPROCESSOR_DEFINITIONS to include $(inherited)
也就是说, pod install
脚本应该为你做$(inherited)
魔术。
配置重置是否有帮助?
转到您的项目 - >您的目标 - >构建设置 - >链接二进制文件库,您可能会看到一些红色条目,这里引用了React库文件。 只需删除那些红色条目,你应该好好去。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.