Convierta una cadena hexadecimal grande a una cadena decimal

Necesito convertir una cadena hexadecimal grande (demasiado grande para los tipos de datos integrados) en una cadena con su representación decimal. Por ejemplo:

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

Actualmente estoy usando elClase c ++ BigInt que ofrece una manera muy fácil de lograr esto (pero es solo GPL):

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

¿Hay una manera simple de hacer esta conversión sin una biblioteca aritmética de terceros? ¿O puede recomendar una alternativa gratuita (no GPL) con una simplicidad similar (la eficiencia es irrelevante)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta