I'm getting this linker error using CocoaPods with React Native:
ld: library not found for -lReact
I have followed the guide at https://facebook.github.io/react-native/docs/embedded-app-ios.html#content
I am trying to integrate with an existing iOS project, which is a JUCE C++ project. JUCE generates the Xcode project file so I believe I need to use the Cocoapods method.
The steps I'm doing are:
npm install react-native
from root of project (alongside the .jucer
file)Builds/iOS
as per the guide (but with ../../node_modules
as the path)pod install
GCC_PREPROCESSOR_DEFINITIONS
to include $(inherited)
An example project displaying this issue is at https://github.com/adamski/juce-native-navigation/tree/react-native-cocoapods
I think there is something going on with the Introjucer generated project, as I tried the whole process on a fresh new Xcode project and it builds fine.
I have also tried adding libReact.a
to the 'Link Binary With Libraries' section but that does not seem to have helped.
I looked for differences between the Introjucer generated project and the Xcode generated one.
One significant difference was the CONFIGURATION_BUILD_DIR
or "Per-configuration Build Products Path"
I copied over the setting from the Xcode generated project
$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
This allowed the linking to complete and gave a successful build :)