> On mac it will properly generate random numbers,
> but on windows it will generate the same number over and over.
std::random_device of the GNU library on windows is a pseudo-random number engine which would generate the same sequence over and over again.
Either use the Microsoft Library, or if the GNU library must be used on Windows, pick a pseudo-random number engine and seed it with a reasonable random seed.
pick a pseudo-random number engine and seed it with a reasonable random seed
This is generally a good advice, unless you need the non-deterministic nature of random_device, because random_device is often orders of magnitude slower.