Если вы хотите использовать Qt, вы должны принять quint8, quint16 и т.д.
Если вы хотите использовать GLib, вам нужно приветствовать guint8, guint16 и т.д.
В Linux есть u32, s16 и т.д.
uC/OS определяет SINT32, UINT16 и т.д.
И если вам нужно использовать какую-то комбинацию этих вещей, вам лучше подготовиться к неприятностям. Потому что на вашей машине u32 будет typedef d поверх long, а quint32 будет typedef d поверх int, и компилятор будет жаловаться.
Почему все это делают, если есть <stdint.h>? Это какая-то традиция для библиотек?