none
VS2012로 Windows XP용 프로그램 개발 RRS feed

  • 질문

  • VS 2012 개발 툴을 이용해서 win XP에서도 사용할 수 있도록 하고 싶은데 방법을 알고 싶습니다.

    현재 개발 환경은 Windows 8.1(32bit) 에 vs2012를 사용하고 있습니다. 

    "Windows XP용 C++ 11 프로그램 구성"을 MS 홈페이지에서 찾았는데 여기서 제시한 대로  

    Update 4를 설치하고, 프로젝트 속성의 일반 플랫폼 도구집합을 "Visual Studio 2012 - Windows XP(V110_xp) 로 변경 하였습니다.

    이렇게 해서 프로그램을 빌드하고 XP에서 실행해보면 "프로시저 시작 지점 FlsGetValue을 DLL KERNEL32.dll에서 찾을 수 없습니다."라는 

    메시지만 나옵니다.

    해결 방법을 알고 싶습니다.

    2015년 8월 31일 월요일 오전 2:07

모든 응답

  • FlsGetValue API를 msdn에서 찾아보면 vista부터 사용된 함수이므로, XP에서는 사용할 수 없습니다.

    https://msdn.microsoft.com/en-us/library/windows/desktop/ms683141%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

    즉, 혹시 프로그램 개발에 사용하신 API중에서 vista 이상의 API가 사용되었거나, 또는 링크한 third party lib 중에서 해당 옵션인 v110_xp가 아닌 다른 링크 옵션을 통해 빌드된 모듈이 함께 링크된 것은(이쪽이 더 의심) 아닌지 의심됩니다.

    한번, 기존 프로젝트가 아닌, 가장 기본적인 win32 c++ app sample로 만드셔서 테스트를 부탁드리겠습니다.

    2015년 9월 2일 수요일 오전 2:06
  • 답변을 해 주셨는지 모르고 있었습니다. 답변 먼저 감사드립니다.

    두번째 내용을 의심한다고 하셨는데 이미 MFC응용프로그램으로 예제 프로그램으로 테스트를 해봤구요, 말씀하신대로 

    Win32로도 샘플만들어 봤지만 현상은 동일합니다. 참고로 처음에 윈도우 8.1 64bit를 사용하다가 xp문제를 해결 못해서

    8.1 32비트 환경으로 옮긴건데 결과가 동일하네요. 

    2015년 9월 8일 화요일 오전 7:08