boost::lexical_cast は、文字列を int8_t に変換するときに例外をスローしますが、int32_t - 標準です。
int8_t の何が問題なのですか?
#include <iostream>
#include <cstdlib>
#include <boost/lexical_cast.hpp>
int main()
{
try
{
const auto a = boost::lexical_cast<int8_t>("22");
std::cout << a << std::endl;
}
catch( std::exception &e )
{
std::cout << "e=" << e.what() << std::endl;
}
}