Вам почти наверняка потребуется создать установщик, который установит ваш исполняемый файл и все библиотеки DLL, не входящие в состав ОС, на которые он полагается.Не всегда возможно или желательно статически связать все зависимости.Во многих случаях вы можете просто скопировать DLL в ту же папку, что и исполняемый файл.
По умолчанию даже стандартная библиотека C / C ++ предоставляется DLL.Хотя MSVCRT.DLL, используемая VC ++ 6, включена в ОС начиная с более поздних выпусков Win95, MSVCRT, требуемая VS2005, не включена в установки XP (другие версии, которые я не знаю).Поддержка во время выполнения включена в пакет перераспределения VC.Возможно, вам придется договориться, чтобы ваш установщик включил эту установку, или вы можете быть более избирательными, если знаете свои зависимости.
Некоторые вызовы Win32 API, если вы их используете, зависят от версии ОС (см. Документацию), но если вы собрали и выполнили его загрузку на XP, он должен нормально работать с любой последующей версией Windows.Вам необходимо определить различные макросы версии API, если вы хотите расширить поддержку более ранних версий Windows (что кажется нелегким).