When you define you own character traits (e.g., ignorecase_traits – to ignore the case when comparing strings) you might run into the following link error:
In function `std::basic_filebuf<char, ignorecase_traits>::uflow()':: undefined reference to `std::basic_filebuf<char, ignorecase_traits>:: _M_underflow_common(bool)'
The solution is to add the following to one of your CC/CPP files:
struct cGet_M_underflow_common : std::basic_filebuf<char> {
int_type mGet_M_underflow_common(bool b) {
return _M_underflow_common(b);
};
};
icfielbuf::int_type icfielbuf::_M_underflow_common(bool bump) {
return reinterpret_cast<cGet_M_underflow_common *>(this)->
mGet_M_underflow_common(bump);
};