2017-06-23 10:25 GMT-03:00 Dan Wilcox danomatika@gmail.com:
I believe the Android build uses Android.mk and not the main Makefile.
Yeah, that seems to be the thing that happens. In my project folder I have the PdCore/jni/libpd/Android.mk file with build instructions.
Looking inside, I see it’s building the included externals but I think it’s
missing the LIBPD_EXTRA define which is used to tell libpd to automatically call the setup function for the externals ie. bob~, bonk~, choice, etc.
I don't see *LIBPD_EXTRA* either
Is Android Studio building libpd via the Android.mk file? I haven’t done
any Android development, so I’m not sure. If it is, you can try adding -DLIBPD_EXTRA to the end of line 38 in Android.mk and rebuilding.
This leaves me with:
"PD_CFLAGS := -DPD -DHAVE_UNISTD_H -DHAVE_LIBDL -DUSEAPI_DUMMY -w DLIBPD_EXTRA "
To build the "extra" binaries, I go to the PdCore folder on the terminal and do "~/Library/Android/sdk/ndk-bundle/ndk-build". So, when I try to build it now, I get the error: "clang: *error: *no such file or directory: 'DLIBPD_EXTRA'"
So then I tried: "PD_CFLAGS := -DPD -DHAVE_UNISTD_H -DHAVE_LIBDL -DUSEAPI_DUMMY -w *-*DLIBPD_EXTRA "
Now, when building, it does something, it seems to compile the basic internals, then I get an error. Oh, and now I see I don't have anymore the compiled .so binaries I did have before for the extra objects, so they got deleted/cleaned up somehow in this process.
This is the error I get, btw:
[armeabi] SharedLibrary : libpd.so
jni/libpd/libpd_wrapper/z_libpd.c:92: error: undefined reference to 'bob_tilde_setup'
jni/libpd/libpd_wrapper/z_libpd.c:93: error: undefined reference to 'bonk_tilde_setup'
jni/libpd/libpd_wrapper/z_libpd.c:94: error: undefined reference to 'choice_setup'
jni/libpd/libpd_wrapper/z_libpd.c:95: error: undefined reference to 'fiddle_tilde_setup'
jni/libpd/libpd_wrapper/z_libpd.c:96: error: undefined reference to 'loop_tilde_setup'
jni/libpd/libpd_wrapper/z_libpd.c:97: error: undefined reference to 'lrshift_tilde_setup'
jni/libpd/libpd_wrapper/z_libpd.c:98: error: undefined reference to 'pique_setup'
jni/libpd/libpd_wrapper/z_libpd.c:99: error: undefined reference to 'sigmund_tilde_setup'
jni/libpd/libpd_wrapper/z_libpd.c:100: error: undefined reference to 'stdout_setup'
clang++: *error: *linker command failed with exit code 1 (use -v to see invocation)
make: *** [obj/local/armeabi/libpd.so] Error 1
Also, I’ve opened an issue on GitHub: https://github.com/
libpd/libpd/issues/175
thanks