در نوع پروژه های Win32 و ATL تماما از API و توابع ویندوزی استفاده می شود بنابر این وابستگی کامل بعد از کامپایل شدن بوجود میاد و شما تنها میتونید برنامتون رو روی ویندوز اجرا کنید نه سیستم عامل دیگر ! برای اینکه محدودیتی نداشته باشید باید بیخیال وابستگی ویندوزی شوید مثلا از Win32 و ATL و حتی MFC استفاده نکنید. میتونید پروژه رو خودتون مدیریت کنید یعنی بدون استفاده از API های ویندوزی.
با ایجاد پروژه به صورت Empty project و مدیریت کامل پروژه میتونید تمام استاندارد های C++ رو خودتون پیاده سازی و برنامتون رو بدون وابستگی توسعه بدید.