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: 

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:

My code:
File name: node.cpp

#include "iostream" // I write it like this since it is not shown on this 
#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 

Reply via email to