Dependendo de quando você pode usar caminhos absolutos, pode usar a seguinte parte do Código do PowerShell:
$files = (Get-ChildItem -Recurse -Path ./src *.cpp | %{echo $_.FullName}) -Join " "
gcc -std=c++14 -I include -o bin/main $files
Você pode encurtar isso para:
gcc -std=c++14 -I include -o bin/main ((Get-ChildItem -Recurse -Path ./src *.cpp | %{echo $_.FullName}) -Join " ")
Isso não é exatamente tão curto ou legível quanto o seu equivalente no Linux, mas o mais próximo que eu posso pensar para chegar ao resultado desejado.
Se o seu src
tiver uma hierarquia simples, você poderá usar:
gcc -std=c++14 -I include -o bin/main src/*.cpp