Converter string hexadecimal grande em string decimal

Preciso converter uma string hexadecimal grande (muito grande para os tipos de dados internos) em uma string com sua representação decimal. Por exemplo:

std::string sHex = "07AA17C660F3DD1D2A1B48F1B746C148";
std::string sDec; // should end up with: "10187768649047767717933300899576725832"

Atualmente, estou usando oClasse BigInt c ++ que oferece uma maneira muito fácil de conseguir isso (mas é apenas a GPL):

BigInt::Vin vbiTemp(sHex, 16);
sDec = vbiTemp.toStrDec();

Existe uma maneira simples de fazer essa conversão sem uma biblioteca aritmética de terceiros? Ou você pode recomendar uma alternativa gratuita (sem GPL) com simplicidade semelhante (a eficiência é irrelevante)?

questionAnswers(2)

yourAnswerToTheQuestion