Visual C ++ 2010 Express를 사용하여 64 비트 응용 프로그램을 컴파일하는 방법은 무엇입니까?


128

32 비트 버전의 Visual C ++ 2010 Express로 64 비트 앱을 컴파일하는 간단한 방법이 있습니까? 필요한 경우 어떤 구성이 필요합니까?

답변:


181

단계별 지침은 다음과 같습니다.

  1. Windows Software Development Kit 버전 7.1을 다운로드하여 설치하십시오. Visual C ++ 2010 Express에는 64 비트 컴파일러가 포함되어 있지 않지만 SDK에는 포함되어 있습니다. SDK에 대한 링크 : http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
  2. 프로젝트 구성을 변경하십시오. 프로젝트의 속성으로 이동하십시오. 대화 상자 상단에 "구성"드롭 다운 메뉴가 있습니다. "모든 구성"을 선택하십시오. 또한 "Win32"를 읽을 수있는 "플랫폼"드롭 다운이 있습니다. 마지막으로 오른쪽에는 "Configuration Manager"버튼이 있습니다. 대화 상자가 나타나면 프로젝트를 찾고 플랫폼 드롭 다운을 누르고 New를 선택한 다음 x64를 선택하십시오. 이제 "Active solution platform"드롭 다운 메뉴를 "x64"로 변경하십시오. 속성 대화 상자로 돌아 가면 "플랫폼"드롭 다운에 "x64"가 표시됩니다.
  3. 마지막으로 툴셋을 변경하십시오. 프로젝트의 속성 메뉴에서 구성 속성 | 일반적으로 플랫폼 도구 세트를 "v100"에서 "Windows7.1SDK"로 변경하십시오.

이 단계는 어쨌든 나를 위해 일했습니다. 2 단계에 대한 자세한 내용은 이전 포스터에서 언급 한 Microsoft의 참고 자료 ( http://msdn.microsoft.com/en-us/library/9yb4317s.aspx)에서 확인할 수 있습니다.


2
축하합니다-귀하의 답변으로 275 명이 응답했습니다. 멋진 답변 감사합니다!
Nathan Osman

Windows XP가 있지만 SDK는 Windows 7 용입니다. 여전히 작동합니까?
0x499602D2 05:40에

@ 0x499602D2 : 모르겠습니다. Visual C ++ 및 SDK 버전이 동일하면 좋을 것입니다. 해봤 어?
Matt

2
이것은 단지 패치 3을 설치 한 후 나를 위해 일한 4는 여기에서 언급 : stackoverflow.com/a/8334985/429873
드미트리 트로피 모프를

1
@ 매트 : 이것은 모두 WinXP 64 비트에서 작동합니다. Platform Toolset을 Win7.1SDK로 변경하는 이유는 무엇입니까?
IgorStack

48

Visual C ++ Express에서는 기본적으로 64 비트 도구를 사용할 수 없습니다. Visual C ++ Express에서 64 비트 도구를 사용하려면 Visual C ++ Express 외에 Windows SDK (Software Development Kit)를 설치하십시오. 그렇지 않으면 Visual C ++ Express를 사용하여 64 비트 플랫폼을 대상으로 프로젝트를 구성하려고하면 오류가 발생합니다.

방법 : 64 비트 플랫폼을 대상으로 Visual C ++ 프로젝트 구성

참조 : http://msdn.microsoft.com/en-us/library/9yb4317s.aspx


VB 2010 Express에서 사용할 수 있습니까?
레무스 리고

어떤 이유로 내 $ (WindowsSdkDir)가 제대로 작동하지 않는 것처럼 보이지만 절대 경로를 수동으로 추가하면 챔피언이되었습니다.
rogerdpack

5
지침을 따른 후 x64 플랫폼에 대한 빈 속성 페이지가 계속 나타납니다. 여기에 컴파일러 업데이트를 설치해야했습니다 . KB2519277에 대한 추가 정보 .
kipkennedy


9

SDK를 설치 한 후 프로젝트 속성으로 이동하여 v100의 Windows 속성 또는 일반 플랫폼의 구성 속성-> 일반-> 플랫폼 도구 세트를 변경하거나 Windows7.1SDK로 변경하십시오. 이것은 $ (WindowsSdkDir)를 올바른 위치로 변경하고 내가 겪었던 다른 어려움을 해결하는 것처럼 보였습니다.


5

Windows SDK v7.1이 설치된 경우 Visual Studio 2010 Professional 또는 Visual Studio 2010 Express를 Visual Studio 2010 SP1로 업그레이드하면 Visual C ++ 컴파일러가 제거됩니다.

이 문제를 해결하는 방법 은 Microsoft 지원 사이트에서 KB2519277 을 참조하십시오 .


5
이것은 실제로 질문에 대답하지 않기 때문에 주석으로 사용하는 것이 좋습니다.
Security Hound

4

Windows SDK를 다운로드 한 다음보기-> 속성-> 구성 관리자-> Active Solution Platform-> 새로 만들기> x64로 이동하십시오.


1
실행할 프로그램은 무엇입니까? "보기"가 가능한 프로그램을 찾을 수 없습니다
Stéphane Laurent

3

64 비트 환경에서의 프로그래밍은 32 비트 환경과 상당히 다릅니다. 생성 된 코드는 32 비트 및 64 비트 코드에서 어셈블리 구성이 완전히 다르며 기능과 통신하는 프로토콜도 변경됩니다. 따라서 32 비트 컴파일러를 사용하여 64 비트 코드를 생성 할 수 없습니다.

Microsoft 웹 사이트 에서 64 비트 대상을 대상으로하지만 32 비트 개발 시스템을 사용하는 방법 대한 기사 를 볼 수 있습니다 .


답변은 인텔 문서
perilbrain의

예, 모든 종속성은 64 비트 컴파일러를 사용하여 (재) 컴파일해야하거나 링크 단계가 실패합니다.
rogerdpack

2

Jakob가 말한 것처럼 : MS VC ++ x64 및 x86 런타임 및 재배포 가능 버전 10.0.40219가있는 경우 Windows SDK 7.1을 설치할 수 없습니다. 그것들을 제거한 후 sdk 설치는 괜찮습니다 .VS C ++ SP1을 다시 설치할 수 있습니다.

친절한 안부

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.