When trying to build at the command line for iphone simulator 7.1 or 8.1 with rhodes 5.0.25 (or 5.0.2) and Xcode 6.1.1 I get these errors:
Undefined symbols for architecture i386:
"_Init_Extensions", referenced from:
rho::common::CRhodesApp::RhoJsStart() in libRhodes.a(RhodesApp.o)
_RhoRubyStart in libRhodes.a(rhoruby.o)
"_get_app_build_config_item", referenced from:
-[SimpleMainView init:webView:frame:bar_info:web_bkg_color:] in libRhodes.a(SimpleMainView.o)
_rho_native_rhopath in libRhodes.a(AppManager.o)
_rho_native_rhouserpath in libRhodes.a(AppManager.o)
_rho_native_rhodbpath in libRhodes.a(AppManager.o)
-[Rhodes doStartUp] in libRhodes.a(Rhodes.o)
_updateViewRect in libRhodes.a(SplittedMainView.o)
_rho_rhodesapp_canstartapp in libRhodes.a(RhodesApp.o)
...
ld: symbol(s) not found for architecture i386
Can anyone help on fixing this?
Thanks!
-- Rob Roberts
5 Replies
I have had similar link issues. What has fixed this is adding an empty "empty.mm" file to the XCode project. See my answer at bottom of thread here for more detail:
Hi,
It looks like your has old iOS project in application folder.
Please try to remove [your application folder]/project/iphone/ completely and rebuild application again.
FWIW, I don't get these errors.
Are you updating from a previous version of either Rhodes or Xcode?
Keep in mind that Rhodes still requires that Xcode be called Xcode.app, even though it does partially use the Xcode path. I've written a little script that does this automatically when you build (in case you have some projects using Xcode 5.1.1 and some using Xcode 6.1.1, but you can do it by hand (if inconveniently).
I renamed unused Xcode versions with their version number, and the active one Xcode.app. Then also go into Xcode menu (or use commad-line code-select) to select the Xcode version to use for command-line build.
Did you try with a brand-new, default project?
It might help isolate the problem.
I always do this routinely when testing a new version of Rhodes. For one, it is useful to compare the default generated project from the previous version.
In this case, it would be useful to know if a minimal project builds successfully. Then, you can try to isolate.
Hi Jon, thanks for the reply.
Yes, I'm upgrading from Rhodes 4.1.1 and Xcode 5.1.1. I've also tried rhodes 5.0.2 and 5.0.25 with Xcode 5.1.1 (for iphone simulator 7.1), and I get the same errors as with Xcode 6.1.1. Everything always worked fine with rhodes 4.1.1 and Xcode 5.1.1 (and earlier versions of both).
I did try the rhodes-system-api-samples app with rhodes 5.0.25 and Xcode 6.1.1, and it compiled and came up in the simulator just fine. So that's encouraging! I just need to figure out what's different about my app now...
--Rob Roberts