Friday, April 10, 2015

Visual Studio 2010 - Visual Studio 2008(v90)으로 컴파일 하기

Managed C++ 프로젝트의 .NET Framework 버전 선택

Visual Studio 2010을 발표하면서 가장 큰 공약으로 내 건 것이, .NET Framework 뿐만 아니라 네이티브인 Visual C++도 이전 버전의 컴파일러(ToolSet)을 사용하게 해준다고 한 것이다. 그러나 공약만 거창했을 뿐, 실제로는 Visual Studio 2008만 하위버전 컴파일러를 지원한다. 그리고 실제 Visual Studio 2008에 대한 라이센스와, Visual Studio 2008이 설치가 되어 있어야 한다.

다음과 같이 [General] - [Platform ToolSet]을 v90으로 맞춘다. v100은 10.0이라는 뜻으로 Visual Studio 2010이며, v90은 2008, v80은 2005, v71은 2003, v70은 2002라는 것은 Visual Studio 사용자라면 익히 일수 있는 버전번호이다.

그런데 이것은 컴파일러만 v90을 선택하기로 한것이지, 나머지 include(STL)이나 lib는 v100을 사용하겠다고 암묵적으로 동의한 것이다. 따라서 완벽한 호환성을 보장하기 위해서는 아래의 include, lib를 Visual Studio 2008의 것으로 다음과 같이 설정을 추가해주어야 한다.

[C/C++] - [General] - [Additional Include Directories]
- "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include" (64비트)
또는
- "C:\Program Files\Microsoft Visual Studio 9.0\VC\include" (32비트)


[Linker] - [General] - [Additional Library Directories]
(64비트 머신에서)
- C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64 (64비트 컴파일)
- C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib (32비트 컴파일)
(32비트 머신에서)
- C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib


이렇게 설정하면 include와 lib가 Visual Studio 2008과 동일하게 설정되어 컴파일 결과도 같아진다.

No comments:

Post a Comment