Annoyingly, random_device is not guaranteed to actually be a random device. In particular, MinGW's libstdc++ is known for not providing one.
Although I'm likely to annoy some cryptographers by suggesting this, if your random numbers don't need to be extremely high quality, you can use std::default_random_engine, whose constructor should be able to take a seed.