VS2012에서 컴파일 한 프로그램은 XP와 Windows 7에서 모두 작동해야합니다. 문제는 단순히 Windows 7 컴퓨터에 필요한 런타임이 배포되어 있지 않다는 것입니다. 이것이 동적 런타임에 연결하기위한 전제 조건입니다. 프로그램을 실행하는 시스템에 런타임을 전개해야합니다.
예를 들어 VS2012 재배포 가능 패키지를 사용하여 런타임을 배포 한 후에는 코드가 실행되는 것을 발견해야합니다. Windows 7 시스템뿐만 아니라 모든 시스템에서이 작업을 수행해야합니다. Windows XP 시스템에서 그렇게 할 필요가 없다는 사실은 다른 응용 프로그램이 이미 런타임을 배포했음을 의미합니다. XP 컴퓨터가 개발 컴퓨터이고 Visual Studio를 설치할 때 런타임이 배포되었을 가능성이 큽니다.
재배포 가능 패키지를 설치하는 대신 런타임 파일 인 MSVCR110.dll을 실행 파일이있는 디렉터리에 둘 수 있습니다. 이 주제에 대한 설명서를 읽으시기 바랍니다 : Redistributing Visual C++ Files.
배포를 가능한 한 작고 간단하게 만들고 싶다면 동적 런타임에 연결하면 달성 할 수 없습니다. 정적 연결은 가장 작고 간단한 배포로 이어집니다. 그것이 내가 추천하는 것은 아닙니다. 여러 가지 이유로 동적 런타임이 선호됩니다.
각 운영 체제마다 다른 실행 파일을 갖는 것이 실제로 문제가됩니까? – Shahbaz
빠른 응답을 보내 주셔서 감사합니다. 불행히도 그것은 문제입니다 .... – user3644884
이 링크가 도움이됩니까? https://software.intel.com/en-us/articles/linking-applications-using-visual-studio-2012-to-run-on-windows-xp – MicroVirus