Если вы включили файл напрямую, вам придется использовать префикс std ::. Поэтому вопрос в том, какой вариант вы бы выбрали в этом случае. Что бы вы сделали с другими типами, представленными Boost? Вы бы добавили к ним приставку boost :: or 1001 *
Первый - явно плохой вариант.
Вы можете реализовать второй вариант, используя файл my_cstdint.hpp
#include <boost/cstdint.hpp>
using boost::uint32_t;
...
и включите my_cstdint.hpp в ваше приложение. Но, на мой взгляд, плохая идея добавлять новые символы в корневое пространство имен, вы можете получить больше конфликтов, так как типы уже могут быть определены, например, в файле stdint.h C.
Даже если в третьем варианте используется много символов, для этого существуют пространства имен. boost :: uint32_t будет определен для правильного типа в зависимости от вашего набора инструментов, поэтому просто используйте его, как вы бы использовали std :: uint32_t.