Você precisa compilar com -pthread
como opção de compilação.
Eu obtive seu código para compilar com isso (embora eu tenha adicionado a função -Wall
para me fornecer todos os avisos de aviso):
g++ -pthread -out foo.exe foo.cpp
(onde foo.cpp
foi o nome do arquivo de entrada que eu usei contendo o seu código)