NatWeiss / RapidGame

A commandline tool for Windows, Mac and Linux that prebuilds cocos2d-x static libraries. Also a cross-platform game templating system.
https://github.com/NatWeiss/RapidGame
MIT License
139 stars 22 forks source link

Android make errors (was Updated NDK version and now get error prebuilding for Android) #21

Closed jonnyijapan closed 9 years ago

jonnyijapan commented 9 years ago

I did just update to the latest NDK version, and made sure to update the NDK_ROOT to reflect the new path.

But now when I do rapidgame prebuild android --verbose I get

make: *\ No rule to make target /Applications/android/android-ndk-r10d/sources/android/cpufeatures/cpu-features.c', needed byobj/local/armeabi/objs-debug/cpufeatur

It looks like it looks at the old path, for the old NDK. The current one is at /Applications/android/android-ndk-r10e. How do I fix this - reinstall RapidGame?

jonnyijapan commented 9 years ago

I put android-ndk-r10d back for now...

jonnyijapan commented 9 years ago

Rebuilding seems ok, but later when makeing the Android project:

[armeabi] Compile++ thumb: cocos2djs_shared <= main.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= AppDelegate.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= Game.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= GameScene.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= MenuScene.cpp [armeabi] Compile thumb : cpufeatures <= cpu-features.c [armeabi] StaticLibrary : libcpufeatures.a [armeabi] SharedLibrary : libcocos2djs.so /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::networkThread()'

... lots mots multiple definition errors...

collect2: error: ld returned 1 exit status make[1]: *\ [obj/local/armeabi/libcocos2djs.so] Error 1

samoersnaes commented 9 years ago

Just got internet again. I believe it's because there's some other environment variables you should set after changing the NDK. Try this: https://htmlpreview.github.io/?https://github.com/NatWeiss/RapidGame/blob/master/templates/cocos2dx/TwoScene/Projects/android/README.html#setup-environment-variables-

On Wed, Jul 15, 2015 at 8:02 AM, jonnyijapan notifications@github.com wrote:

I put android-ndk-r10d back for now...

— Reply to this email directly or view it on GitHub https://github.com/NatWeiss/RapidGame/issues/21#issuecomment-121500269.

samoersnaes commented 9 years ago

When you get a multiple definition error, can I see your project directory? Can you take a screenshot?

jonnyijapan commented 9 years ago

screen shot 2015-07-15 at 15 41 04

I just created the project with rapidgame create cocos2dx "testgame2" com.test.testgame2

samoersnaes commented 9 years ago

Hmmm, never encountered this error before. I imagine something went wrong with prebuilding the libraries then. The simplest solution would be to delete the prebuilt libraries and object files and try prebuliding the Android project again. But you should have already been able to build the libraries for iOS and Mac. Because of this, can you test the Mac project for example and see if it builds and runs just so we can be sure there's no other errors going on?

jonnyijapan commented 9 years ago

Yep I could build and launch and play the Mac project right now.

samoersnaes commented 9 years ago

Okay, so we can isolate the problem to just the Android libraries. Can you navigate to rapidgame/0.9.9/cocos2d/x/lib and delete both Android folders? You also should delete rapidgame/src/proj.android/libs and rapidgame/src/proj.android/obj, then run rapidgame prebuild android, and hopefully that should fix the problem.

You can find these directories in ~/Library/Developer/RapidGame and /usr/local/lib/node_modules/rapidgame.

jonnyijapan commented 9 years ago

I rebuilt it all (deleted everything in symlinked libs), and create a new project with rapidgame create cocos2dx "testgame4" jp.mjgarage.testgame4, but when making the android project it fails the same way as above.

jonnyijapan commented 9 years ago

Complete error log is

/Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::networkThread()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::dispatchResponseCallbacks()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::getInstance()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::HttpClient()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::destroyInstance()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x8664/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::enableCookies(char const)' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::setSSLVerification(std::string const&)' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::HttpClient()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'vtable for cocos2d::network::HttpClient' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::~HttpClient()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::~HttpClient()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::~HttpClient()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::lazyInitThreadSemphore()' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x8664/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::send(cocos2d::network::HttpRequest)' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x8664/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'cocos2d::network::HttpClient::sendImmediate(cocos2d::network::HttpRequest)' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'typeinfo for cocos2d::network::HttpClient' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient.o): multiple definition of 'typeinfo name for cocos2d::network::HttpClient' /Applications/android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x8664/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(HttpClient-android.o): previous definition here jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(CCNodeReader.o):CCNodeReader.cpp:function cocostudio::timeline::NodeReader::loadNode(rapidjson::GenericValuerapidjson::UTF8<char, rapidjson::MemoryPoolAllocatorrapidjson::CrtAllocator > const&): error: undefined reference to 'cocos2d::ui::Widget::getPositionPercent() const' jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(CCNodeReader.o):CCNodeReader.cpp:function cocostudio::timeline::NodeReader::loadNode(rapidjson::GenericValuerapidjson::UTF8<char, rapidjson::MemoryPoolAllocatorrapidjson::CrtAllocator > const&): error: undefined reference to 'cocos2d::ui::Widget::getPositionPercent() const' collect2: error: ld returned 1 exit status make[1]: ** [obj/local/armeabi/libcocos2djs.so] Error 1 make[1]: Leaving directory `/Users/jonny/temp/rapidgameegaujujx/testgame4/Projects/android' Traceback (most recent call last): File "./build_native.py", line 179, in build(opts.ndk_build_param,opts.android_platform,opts.build_mode) File "./build_native.py", line 166, in build do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode) File "./build_native.py", line 90, in do_build raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!")

samoersnaes commented 9 years ago

I'll have to take a look at this closer when I get home.

samoersnaes commented 9 years ago

You could potentially try adding

LOCAL_LDFLAGS := -Wl,--allow-multiple-definition

To any place in testgame4/Projects/android/jni/Android.mk after line 16 and before line 70.

http://discuss.cocos2d-x.org/t/how-to-avoid-mulpile-definition-of-xxxx-at-linking-for-packaging-apk/17430

jonnyijapan commented 9 years ago

Editing Android.mk , I now get:

ANDROID_SDK_ROOT=/Applications/android/sdk PLUGIN_DIR=/Users/jonny/temp/rapidgameegaujujx/testgame4/lib/cocos2d/x/java export CONFIG="debug" && ./build_native.py The Selected NDK toolchain version was 4.8 ! APP_PLATFORM=android-9 APP_OPTIM=debug CONFIG=Debug ARCH=armeabi APP_CPPFLAGS=-frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char -DCOCOS2D_JAVASCRIPT -DCOCOS2D_DEBUG=1 make[1]: Entering directory /Users/jonny/temp/rapidgameegaujujx/testgame4/Projects/android' [armeabi] Compile++ thumb: cocos2djs_shared <= main.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= AppDelegate.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= Game.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= GameScene.cpp [armeabi] Compile++ thumb: cocos2djs_shared <= MenuScene.cpp [armeabi] Compile thumb : cpufeatures <= cpu-features.c [armeabi] StaticLibrary : libcpufeatures.a [armeabi] SharedLibrary : libcocos2djs.so jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(CCNodeReader.o):CCNodeReader.cpp:function cocostudio::timeline::NodeReader::loadNode(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&): error: undefined reference to 'cocos2d::ui::Widget::getPositionPercent() const' jni/../../../lib/cocos2d/x/lib/Debug-Android/armeabi/libcocos2dx-prebuilt.a(CCNodeReader.o):CCNodeReader.cpp:function cocostudio::timeline::NodeReader::loadNode(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&): error: undefined reference to 'cocos2d::ui::Widget::getPositionPercent() const' collect2: error: ld returned 1 exit status make[1]: *** [obj/local/armeabi/libcocos2djs.so] Error 1 make[1]: Leaving directory/Users/jonny/temp/rapidgameegaujujx/testgame4/Projects/android' Traceback (most recent call last): File "./build_native.py", line 179, in build(opts.ndk_build_param,opts.android_platform,opts.build_mode) File "./build_native.py", line 166, in build do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode) File "./build_native.py", line 90, in do_build raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!") Exception: Build dynamic library for project [ /Users/jonny/temp/rapidgameegaujujx/testgame4/Projects/android ] fails! make: *\ [all] Error 1

jonnyijapan commented 9 years ago

I found this issue: https://github.com/NatWeiss/RapidGame/issues/15 It looks partly related... The thing is I did actually install RapidGame awhile back but ended up never using it for a recent project. And now I'm trying it out again. In the folder where 0.9.9 is, there was another one like 0.9.2 or so. I wipe those directories like you suggested in that other issue and am now installing rapid game from scratch again, and am now creating testgame5, which is currently downloading cocos2d-js-v3.6.zip again... my connection is pretty slow so this will take awhile. Guess it will prebuild again too, that takes a while on my box too :-/ Nonetheless if this works in the end, build times should be fast... right.. :-)

jonnyijapan commented 9 years ago

Guess what - that fixed it. I dunno what happened, but that old installation messed things up. I didn't even have to edit Android.mk this time, and this is using cocos2d-x 3.6. Thanks for your help :+1:

samoersnaes commented 9 years ago

Yeah for sure! If you would've told me there was an old installation, that would've helped a lot. In any case, I'm so glad you got everything working :) And yeah, you shouldn't need to edit Android.mk at all. It should work out of the box.

Btw, it takes around 2 hours to build all the libraries on my machine. By you only need to do it once.

Good luck!

samoersnaes commented 9 years ago

Also, did you get it working with NDKr10e?

jonnyijapan commented 9 years ago

I'm back on NDKr10d now and haven't tried 10e. I guess upgrading will likely not work without doing a manual reinstall like above... it just takes a lot of time to recompile everything so I'll leave that for now.

jonnyijapan commented 9 years ago

I installed rapidgame from scratch on another box - it works fine with NDKr10e.

samoersnaes commented 9 years ago

I think you can get the newest NDK working without reinstalling RapidGame and/or prebuilding the libraries again. I believe the error you got was because you only changed the NDK_ROOT environment variable without also updating your PATH (as PATH must contain /path/to/ndk). You can experiment and see if this works by pointing NDK_ROOT to NDKr10e and editing PATH (removing the path to the old NDK and adding the path to the new one) and then trying to build the Android project, as it relies on both these variables having the proper values. That should fix your problem. If the Android project compiles, then you've successfully switched over while only having to edit two environment variables. If not, you can always change back to r10d.

jonnyijapan commented 9 years ago

I guess you are right. Without even prebuilding Android again, my Android project just built successfully with NDKr10e.

samoersnaes commented 9 years ago

Good to hear :) That should mean that your NDK is properly setup to use the newest version.