Hello everyone, a question when I try to use the package and compile it in shared form (.so) and I want to read it I get this: undefined symbol: _ZN8CryptoPP21SimpleKeyingInterface6SetKeyEPKhmRKNS_14NameValuePairsE
in which I investigate and it says that I have to compile it in such a way that the symbols must be together with the compiled one, I have tried everything to compile it according to the forums and documentations with the command "-g" or "-O2" but I still cannot read the file My build commands are these: g++ -DNDEBUG -g -O2 -Wall -Wextra -o node.o node.cpp -l:libcryptopp.a g++ -shared -o node.so node.o I would be very grateful for your great help. Versions install: libcrypto++6 libcrypto++-utils libcrypto++-dev libcrypto++-doc libcrypto++6-dbg My code: File name: node.cpp ` #include "iostream" // I write it like this since it is not shown on this page #include "string" // I write it like this since it is not shown on this page #include "cryptopp/modes.h" #include "cryptopp/aes.h" #include "cryptopp/filters.h" #include "cryptopp/hex.h" using namespace std; using namespace CryptoPP; string node (string text){ string plain = params; // Our input: // Note: the input was previously generated by the same cipher string keyImput = "ABCDEF"; string ivImput = "ABCDF"; string cadenaInput = plain; byte iv_[CryptoPP::AES::BLOCKSIZE] = {}; // this decoder would transform our std::string into raw hex: CryptoPP::HexDecoder decoder; decoder.Put((byte*)ivImput.data(), ivImput.size()); decoder.MessageEnd(); decoder.Get(iv_, sizeof(iv_)); std::string cadenaInput_raw; { CryptoPP::HexDecoder decoder; decoder.Put((byte*)cadenaInput.data(), cadenaInput.size()); decoder.MessageEnd(); long long size = decoder.MaxRetrievable(); cadenaInput_raw.resize(size); decoder.Get((byte*)cadenaInput_raw.data(), cadenaInput_raw.size()); } byte key_[CryptoPP::AES::DEFAULT_KEYLENGTH]; { CryptoPP::HexDecoder decoder; decoder.Put((byte*)keyImput.data(), keyImput.size()); decoder.MessageEnd(); decoder.Get(key_, sizeof(key_)); } string decrypted_text; try { CBC_Mode<AES>::Decryption d; d.SetKeyWithIV(key_, sizeof(key_), iv_); StringSource s(cadenaInput_raw, true, new StreamTransformationFilter( d, new StringSink(decrypted_text) ) // StreamTransformationFilter ); // StringSource return decrypted_text; } catch( CryptoPP::Exception& e ) { std::cerr << e.what() << std::endl; exit(1); } } extern "C" string dencrypnode (string params){ return node(params); } int main (){ string keyImput; string retorno; std::cout << "\nIngrese llave key : "; std::cin >> keyImput; retorno = dencrypnode(keyImput); std::cout << retorno << std::endl; return 0; } ` -- 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/6323f852-15b5-4b3f-8c84-59e342c6d942n%40googlegroups.com.