Hi I am new to Crypto++ I was trying to build Crypto++ for *android *using documentation here: https://github.com/noloader/cryptopp-android
Note: Build succeeded for *arm64-v8a* and linker fails for *armeabi-v7a* I am not able to resolve following linker errors: ld: error: undefined symbol: CryptoPP::CPU_ProbeARMv7() >>> referenced by cpu.cpp:1014 (./../cryptopp\cpu.cpp:1014) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::CPU_ProbeNEON() >>> referenced by cpu.cpp:1015 (./../cryptopp\cpu.cpp:1015) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::CPU_ProbeCRC32() >>> referenced by cpu.cpp:1016 (./../cryptopp\cpu.cpp:1016) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::CPU_ProbePMULL() >>> referenced by cpu.cpp:1017 (./../cryptopp\cpu.cpp:1017) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::CPU_ProbeAES() >>> referenced by cpu.cpp:1018 (./../cryptopp\cpu.cpp:1018) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA1() >>> referenced by cpu.cpp:1019 (./../cryptopp\cpu.cpp:1019) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA256() >>> referenced by cpu.cpp:1020 (./../cryptopp\cpu.cpp:1020) >>> cpu.o:(CryptoPP::DetectArmFeatures()) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::ARIA_UncheckedSetKey_Schedule_NEON(unsigned char*, unsigned int*, unsigned int) >>> referenced by aria.cpp:182 (./../cryptopp\aria.cpp:182) >>> aria.o:(CryptoPP::ARIA::Base::UncheckedSetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::ARIA_ProcessAndXorBlock_NEON(unsigned char const*, unsigned char*, unsigned char const*, unsigned int*) >>> referenced by aria.cpp:293 (./../cryptopp\aria.cpp:293) >>> aria.o:(CryptoPP::ARIA::Base::ProcessAndXorBlock(unsigned char const*, unsigned char const*, unsigned char*) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::BLAKE2_Compress32_NEON(unsigned char const*, CryptoPP::BLAKE2s_State&) >>> referenced by blake2.cpp:686 (./../cryptopp\blake2.cpp:686) >>> blake2.o:(CryptoPP::BLAKE2s::Compress(unsigned char const*)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::BLAKE2_Compress64_NEON(unsigned char const*, CryptoPP::BLAKE2b_State&) >>> referenced by blake2.cpp:709 (./../cryptopp\blake2.cpp:709) >>> blake2.o:(CryptoPP::BLAKE2b::Compress(unsigned char const*)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::ChaCha_OperateKeystream_NEON(unsigned int const*, unsigned char const*, unsigned char*, unsigned int) >>> referenced by chacha.cpp:142 (./../cryptopp\chacha.cpp:142) >>> chacha.o:((anonymous namespace)::ChaCha_OperateKeystream(CryptoPP::KeystreamOperation, unsigned int*, unsigned int&, unsigned int&, unsigned int, unsigned char*, unsigned char const*, unsigned int)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::GCM_Xor16_NEON(unsigned char*, unsigned char const*, unsigned char const*) >>> referenced by gcm.cpp:214 (./../cryptopp\gcm.cpp:214) >>> gcm.o:(CryptoPP::GCM_Base::SetKeyWithoutResync(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a >>> referenced by gcm.cpp:276 (./../cryptopp\gcm.cpp:276) >>> gcm.o:(CryptoPP::GCM_Base::SetKeyWithoutResync(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a >>> referenced by gcm.cpp:277 (./../cryptopp\gcm.cpp:277) >>> gcm.o:(CryptoPP::GCM_Base::SetKeyWithoutResync(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::LEA_Enc_AdvancedProcessBlocks_NEON(unsigned int const*, unsigned int, unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) >>> referenced by lea.cpp:875 (./../cryptopp\lea.cpp:875) >>> lea.o:(CryptoPP::LEA::Enc::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::LEA_Dec_AdvancedProcessBlocks_NEON(unsigned int const*, unsigned int, unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) >>> referenced by lea.cpp:892 (./../cryptopp\lea.cpp:892) >>> lea.o:(CryptoPP::LEA::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::SIMON128_Enc_AdvancedProcessBlocks_NEON(unsigned long long const*, unsigned int, unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) >>> referenced by simon.cpp:472 (./../cryptopp\simon.cpp:472) >>> simon.o:(CryptoPP::SIMON128::Enc::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::SIMON128_Dec_AdvancedProcessBlocks_NEON(unsigned long long const*, unsigned int, unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) >>> referenced by simon.cpp:493 (./../cryptopp\simon.cpp:493) >>> simon.o:(CryptoPP::SIMON128::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::SPECK128_Enc_AdvancedProcessBlocks_NEON(unsigned long long const*, unsigned int, unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) >>> referenced by speck.cpp:454 (./../cryptopp\speck.cpp:454) >>> speck.o:(CryptoPP::SPECK128::Enc::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a ld: error: undefined symbol: CryptoPP::SPECK128_Dec_AdvancedProcessBlocks_NEON(unsigned long long const*, unsigned int, unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) >>> referenced by speck.cpp:475 (./../cryptopp\speck.cpp:475) >>> speck.o:(CryptoPP::SPECK128::Dec::AdvancedProcessBlocks(unsigned char const*, unsigned char const*, unsigned char*, unsigned int, unsigned int) const) in archive ./obj/local/armeabi-v7a/libcryptopp_static.a clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [C:/Users/XXXXXX/AppData/Local/Android/Sdk/ndk/22.0.6917172/build//../build/core/build-binary.mk:741: obj/local/armeabi-v7a/cryptest.exe] Error 1 Any hint, suggestions please? Regards Ninad D -- You received this message because you are subscribed to "Crypto++ Users". More information about Crypto++ and this group is available at http://www.cryptopp.com and http://groups.google.com/forum/#!forum/cryptopp-users. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/cryptopp-users/d1e90e3f-abae-4c1b-a91a-78df3b70d817n%40googlegroups.com.