Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 259. Visual Studio 없이 Visual C++ 컴파일하는 방법 [링크 복사], [링크+제목 복사],
조회: 26542
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

Visual Studio 없이 Visual C++ 컴파일하는 방법

다음의 질문이 있군요.

.NET Framework 4.0 설치 문의
; https://social.msdn.microsoft.com/Forums/ko-KR/80e03dc0-f6f9-41df-ade5-37002539a3b4/net-framework-40-?forum=dotnetko

내용인 즉, .NET Framework 4.0을 설치해도 "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0" 폴더가 없다는 것인데요. .NET Framework 4.0은 C++와는 무관하기 때문에 없는 것이 맞습니다.

그렇다면, Visual Studio 설치 없이 "\Microsoft.Cpp\v4.0" 폴더를 생성하려면 어떻게 해야 할까요? 유일한 방법이라면, Windows SDK v7을 설치하는 것입니다.

Microsoft Windows SDK for Windows 7 and .NET Framework 4 
; http://www.microsoft.com/en-us/download/details.aspx?id=8279

이 버전의 SDK에는 아래와 같이 "Visual C++ Compilers", "Microsoft Visual C++ 2010" 구성 요소를 포함하고 있으며, 설치 후에는 "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0" 폴더가 생성되는 것을 확인할 수 있습니다.

windows_sdk_install_1.png

그런데 웬일인지 Windows SDK v8부터는,

Windows Software Development Kit (SDK) for Windows 8.1
;  https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/

windows_sdk_install_2.png

Visual C++ 구성 요소가 누락되었습니다. 따라서, 현재 시점에서는 비주얼 스튜디오를 설치하지 않고 Visual C++ 컴파일러인 cl.exe를 구할 수 있는 방법은 이전 버전인 Windows SDK v7을 설치하는 수밖에 없습니다.




관련해서 좀 더 검색해 봤는데,

Fancy Standalone Visual C++ Compiler
; http://blog.httrack.com/blog/2014/02/21/fancy-standalone-visual-c-plus-plus-compiler/

Visual C++ 2012/2013부터는 어차피 무료 버전인 "Visual Studio Express"가 제공되기 때문에 Windows SDK에서는 중복 유지인 듯 싶어 뺀 것이 아닌가 생각됩니다. 어쩔 수 없이, C++ 최신 컴파일러를 원한다면 Visual Studio Express 버전을 통해 C/C++ 구성 요소를 설치해야 합니다.

참고로, 최신 C++ 표준을 준수하는 컴파일러를 현재 Visual C++ Compiler CTP 버전으로 무료 다운로드를 제공하고 있는데요.

Announcing the Visual C++ Compiler November 2013 CTP
; http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing-the-visual-c-compiler-november-2013-ctp.aspx

아마도, C++ 기능을 필드 테스트 하기 위해 제공하는 것이 목적이므로 정식 버전은 다시 Visual Studio에 포함되어 배포될 것입니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 7/17/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12211정성태4/27/202019266개발 환경 구성: 486. WSL에서 Makefile로 공개된 리눅스 환경의 C/C++ 소스 코드 빌드
12210정성태4/20/202020711.NET Framework: 903. .NET Framework의 Strong-named 어셈블리 바인딩 (1) - app.config을 이용한 바인딩 리디렉션 [1]파일 다운로드1
12209정성태4/13/202017414오류 유형: 614. 리눅스 환경에서 C/C++ 프로그램이 Segmentation fault 에러가 발생한 경우 (2)
12208정성태4/12/202015979Linux: 29. 리눅스 환경에서 C/C++ 프로그램이 Segmentation fault 에러가 발생한 경우
12207정성태4/2/202015831스크립트: 19. Windows PowerShell의 NonInteractive 모드
12206정성태4/2/202018447오류 유형: 613. 파일 잠금이 바로 안 풀린다면? - The process cannot access the file '...' because it is being used by another process.
12205정성태4/2/202015109스크립트: 18. Powershell에서는 cmd.exe의 명령어를 지원하진 않습니다.
12204정성태4/1/202015110스크립트: 17. Powershell 명령어에 ';' (semi-colon) 문자가 포함된 경우
12203정성태3/18/202017954오류 유형: 612. warning: 'C:\ProgramData/Git/config' has a dubious owner: '...'.
12202정성태3/18/202021210개발 환경 구성: 486. .NET Framework 프로젝트를 위한 GitLab CI/CD Runner 구성
12201정성태3/18/202018440오류 유형: 611. git-credential-manager.exe: Using credentials for username "Personal Access Token". [1]
12200정성태3/18/202018530VS.NET IDE: 145. NuGet + Github 라이브러리 디버깅 관련 옵션 3가지 - "Enable Just My Code" / "Enable Source Link support" / "Suppress JIT optimization on module load (Managed only)"
12199정성태3/17/202016174오류 유형: 610. C# - CodeDomProvider 사용 시 Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path '...\f2_6uod0.tmp'.
12198정성태3/17/202019532오류 유형: 609. SQL 서버 접속 시 "Cannot open user default database. Login failed."
12197정성태3/17/202018830VS.NET IDE: 144. .NET Core 콘솔 응용 프로그램을 배포(publish) 시 docker image 자동 생성 - 두 번째 이야기 [1]
12196정성태3/17/202015950오류 유형: 608. The ServicedComponent being invoked is not correctly configured (Use regsvcs to re-register).
12195정성태3/16/202018268.NET Framework: 902. C# - 프로세스의 모든 핸들을 열람 - 세 번째 이야기
12194정성태3/16/202020999오류 유형: 607. PostgreSQL - Npgsql.NpgsqlException: sorry, too many clients already
12193정성태3/16/202017918개발 환경 구성: 485. docker - SAP Adaptive Server Enterprise 컨테이너 실행 [1]
12192정성태3/14/202019939개발 환경 구성: 484. docker - Sybase Anywhere 16 컨테이너 실행
12191정성태3/14/202021053개발 환경 구성: 483. docker - OracleXE 컨테이너 실행 [1]
12190정성태3/14/202015629오류 유형: 606. Docker Desktop 업그레이드 시 "The process cannot access the file 'C:\Program Files\Docker\Docker\resources\dockerd.exe' because it is being used by another process."
12189정성태3/13/202021234개발 환경 구성: 482. Facebook OAuth 처리 시 상태 정보 전달 방법과 "유효한 OAuth 리디렉션 URI" 설정 규칙
12188정성태3/13/202026024Windows: 169. 부팅 시점에 실행되는 chkdsk 결과를 확인하는 방법
12187정성태3/12/202015602오류 유형: 605. NtpClient was unable to set a manual peer to use as a time source because of duplicate error on '...'.
12186정성태3/12/202017402오류 유형: 604. The SysVol Permissions for one or more GPOs on this domain controller and not in sync with the permissions for the GPOs on the Baseline domain controller.
... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...