Visual Studio의 C/C++ 프로젝트 및 빌드 시스템C/C++ projects and build systems in Visual Studio

Visual Studio를 사용 하 여 코드를 Visual Studio 프로젝트로 변환 C++ 하거나 MSVC 도구 집합을 사용 하 여 컴파일할 필요 없이 전체 IntelliSense 지원으로 코드 베이스를 편집, 컴파일 및 빌드할 수 있습니다.You can use Visual Studio to edit, compile and build any C++ code base with full IntelliSense support without having to convert that code into a Visual Studio project or compile with the MSVC toolset. 예를 들어, Visual Studio에서 Windows 시스템에서 플랫폼 간 CMake 프로젝트를 편집한 다음 원격 Linux 시스템에서 g++를 사용하여 Linux용으로 컴파일할 수 있습니다.For example, you can edit a cross-platform CMake project in Visual Studio on a Windows machine, then compile it for Linux using g++ on a remote Linux machine.

C++ 컴파일C++ compilation

C++ 프로그램을 만들려면 하나 이상의 파일에서 소스 코드를 컴파일한 다음 해당 파일을 실행 파일(.exe), 동적 부하 라이브러리(.dll) 또는 정적 라이브러리(.lib)로 링크해야 합니다.To build a C++ program means to compile source code from one or more files and then link those files into an executable file (.exe), a dynamic-load library (.dll) or a static library (.lib).

기본 C++ 컴파일에는 세 가지 주요 단계가 포함됩니다.Basic C++ compilation involves three main steps:

  • C++ 전처리기는 각 소스 파일에서 모든 #directives 및 매크로 정의를 변환합니다.The C++ preprocessor transforms all the #directives and macro definitions in each source file. 이는 변환 단위를 생성합니다.This creates a translation unit.
  • C++ 컴파일러는 설정된 컴파일러 옵션을 적용하여 각 변환 단위를 개체 파일(.obj)로 컴파일합니다.The C++ compiler compiles each translation unit into object files (.obj), applying whatever compiler options have been set.
  • 링커에서 는 설정 된 링커 옵션을 적용 하 여 개체 파일을 단일 실행 파일로 병합 합니다.The linker merges the object files into a single executable, applying the linker options that have been set.

MSVC 도구 집합The MSVC toolset

Microsoft C++ 컴파일러, 링커, 표준 라이브러리 및 관련 유틸리티는 MSVC 컴파일러 도구 집합 (도구 체인 또는 "빌드 도구" 라고도 함)을 구성 합니다.The Microsoft C++ compiler, linker, standard libraries, and related utilities comprise the MSVC compiler toolset (also called a toolchain or "build tools"). 이들은 Visual Studio에 포함됩니다.These are included in Visual Studio. 도구 집합을 Visual Studio 2019 용 빌드 도구 다운로드 위치에서 무료로 무료로 다운로드 하 여 사용할 수 있습니다.You can also download and use the toolset as a standalone package for free from the Build Tools for Visual Studio 2019 download location.

명령줄에서 직접 MSVC 컴파일러 (cl.exe)를 호출 하 여 간단한 프로그램을 빌드할 수 있습니다.You can build simple programs by invoking the MSVC compiler (cl.exe) directly from the command line. 다음 명령은 단일 소스 코드 파일을 수락 하 고 cl.exe를 호출 하 여 hello.exe라는 실행 파일을 빌드합니다.The following command accepts a single source code file, and invokes cl.exe to build an executable called hello.exe:

cl /EHsc hello.cpp

여기서 컴파일러(cl.exe)는 자동으로 C++ 전처리기와 링커를 호출하여 최종 출력 파일을 생성합니다.Note that here the compiler (cl.exe) automatically invokes the C++ preprocessor and the linker to produce the final output file. 자세한 내용은 명령줄에서 빌드를 참조합니다.For more information, see Building on the command line.

빌드 시스템 및 프로젝트Build systems and projects

대부분의 실제 프로그램에서는 몇 가지 종류의 빌드 시스템 을 사용 하 여 여러 구성 (예: 디버그 및 릴리스), 여러 플랫폼 (x86, X64, ARM 등), 사용자 지정 빌드 단계, 심지어 여러 소스 파일을 컴파일하는 복잡 한 작업을 관리 합니다. 특정 순서로 컴파일해야 하는 실행 파일입니다.Most real-world programs use some kind of build system to manage complexities of compiling multiple source files for multiple configurations (i.e. debug vs. release), multiple platforms (x86, x64, ARM, and so on), custom build steps, and even multiple executables that must be compiled in a certain order. 빌드 구성 파일에서 설정을 만들고 빌드 시스템에서 컴파일러를 호출 하기 전에 해당 파일을 입력으로 받아들입니다.You make settings in a build configuration file(s), and the build system accepts that file as input before it invoke the compiler. 실행 파일을 빌드하는 데 필요한 소스 코드 파일 및 빌드 구성 파일 집합을 프로젝트라고 합니다.The set of source code files and build configuration files needed to build an executable file is called a project.

다음은 C++ Visual Studio 프로젝트에 대한 다양한 옵션을 보여줍니다.The following list shows various options for Visual Studio Projects - C++:

  • visual Studio IDE를 사용 하 여 Visual Studio 프로젝트를 만들고 속성 페이지를 사용 하 여 Visual Studio 프로젝트를 구성 합니다.create a Visual Studio project by using the Visual Studio IDE and configure it by using property pages. Visual Studio 프로젝트는 Windows에서 실행 되는 프로그램을 생성 합니다.Visual Studio projects produce programs that run on Windows. 개요는 Visual Studio 설명서에서 컴파일 및 빌드 를 참조 하세요.For an overview, see Compiling and Building in the Visual Studio documentation.

  • CMakeLists .txt 파일이 포함 된 폴더를 엽니다.open a folder that contains a CMakeLists.txt file. Ctosupport는 Visual Studio에 통합 되어 있습니다.CMake support is integrated into Visual Studio. IDE를 사용 하 여 어떤 방식으로든 CMake 파일을 수정 하지 않고 편집, 테스트 및 디버그할 수 있습니다.You can use the IDE to edit, test and debug without modifying the CMake files in any way. 이렇게 하면 다른 편집기를 사용 하는 다른 사용자와 동일한 CMake 프로젝트에서 작업할 수 있습니다.This enables you to work in the same CMake project as others who might be using different editors. 플랫폼 간 개발에는 Ctois를 사용 하는 것이 좋습니다.CMake is the recommended approach for cross-platform development. 자세한 내용은 cmake 프로젝트를 참조 하세요.For more information, see CMake projects.

  • 프로젝트 파일이 없는 소스 파일의 느슨한 폴더를 엽니다.open a loose folder of source files with no project file. Visual Studio에서는 추론을 사용 하 여 파일을 빌드합니다.Visual Studio will use heuristics to build the files. 이 방법은 작은 콘솔 응용 프로그램을 컴파일하고 실행 하는 쉬운 방법입니다.This is an easy way to compile and run small console applications. 자세한 내용은 폴더 프로젝트 열기를 참조 하세요.For more information, see Open Folder projects.

  • 메이크파일이 나 기타 빌드 시스템 구성 파일을 포함 하는 폴더를 엽니다.open a folder that contains a makefile, or any other build system configuration file. JSON 파일을 폴더에 추가 하 여 임의의 빌드 명령을 호출 하도록 Visual Studio를 구성할 수 있습니다.You can configure Visual Studio to invoke any arbitrary build commands by adding JSON files to the folder. 자세한 내용은 폴더 프로젝트 열기를 참조 하세요.For more information, see Open Folder projects.

  • Visual Studio에서 Windows 메이크파일을 엽니다.Open a Windows makefile in Visual Studio. 자세한 내용은 NMAKE 참조를 참조 하세요.For more information, see NMAKE Reference.

명령줄에서 MSBuildMSBuild from the command line

명령줄 옵션과 함께 .vcxproj 파일을 전달 하 여 명령줄에서 MSBuild를 호출할 수 있습니다.You can invoke MSBuild from the command line by passing it a .vcxproj file along with command-line options. 이 방법은 MSBuild를 잘 이해 해야 하며 반드시 필요한 경우에만 권장 됩니다.This approach requires a good understanding of MSBuild, and is recommended only when absolutely necessary. 자세한 내용은 MSBuild를 참조하세요.For more information, see MSBuild.

섹션 내용In This Section

Visual Studio 프로젝트는 해당 네이티브 빌드 시스템(MSBuild)을 사용하여 Visual Studio에서 C++ 프로젝트를 작성, 구성 및 빌드하는 방법을 보여줍니다.Visual Studio projects How to create, configure, and build C++ projects in Visual Studio using its native build system (MSBuild).

Cmake 프로젝트 Visual Studio에서 CMake 프로젝트를 코딩, 빌드 및 배포 하는 방법을 설명 합니다.CMake projects How to code, build, and deploy CMake projects in Visual Studio.

오픈 폴더 프로젝트 Visual Studio를 사용하여 임의의 빌드 시스템을 기반으로 또는 빌드 시스템 없이 C++ 프로젝트를 코딩, 빌드 및 배포하는 방법입니다.Open Folder projects How to use Visual Studio to code, build and deploy C++ projects based on any arbitrary build system, or no build system. 전혀.at all.

릴리스 빌드 최종 사용자에 게 배포할 수 있도록 최적화 된 릴리스 빌드를 만들고 문제를 해결 하는 방법입니다.Release builds How to create and troubleshoot optimized release builds for deployment to end users.

명령줄에서 MSVC 도구 집합 사용Use the MSVC toolset from the command line
Visual Studio IDE를 사용하지 않고 명령줄에서 직접 C/C++ 컴파일러 및 빌드 도구를 사용하는 방법을 설명합니다.Discusses how to use the C/C++ compiler and build tools directly from the command line rather than using the Visual Studio IDE.

Visual Studio에서 DLL 빌드 Visual Studio에서 C/C++ DLL(공유 라이브러리)을 만들고, 디버그하고 배포하는 방법입니다.Building DLLs in Visual Studio How to create, debug and deploy C/C++ DLLs (shared libraries) in Visual Studio.

연습: 정적 라이브러리 를 만들고 사용 하 여 .lib 이진 파일을 만드는 방법을 설명 합니다.Walkthrough: Creating and Using a Static Library How to create a .lib binary file.

C/C++ 격리된 응용 프로그램 및 side-by-side 어셈블리 빌드 격리된 응용 프로그램 및 side-by-side 어셈블리에 대한 아이디어를 기반으로 Windows 데스크톱 응용 프로그램의 배포 모델을 설명합니다.Building C/C++ Isolated Applications and Side-by-side Assemblies Describes the deployment model for Windows Desktop applications, based on the idea of isolated applications and side-by-side assemblies.

64 비트, x64 대상 C++ 프로젝트 구성 MSVC 빌드 도구로 64 비트 x64 하드웨어를 대상으로 지정하는 방법입니다.Configure C++ projects for 64-bit, x64 targets How to target 64-bit x64 hardware with the MSVC build tools.

ARM 프로세서용 C++ 프로젝트 구성 MSVC 빌드 도구를 사용 하 여 ARM 하드웨어를 대상으로 지정하는 방법입니다.Configure C++ projects for ARM processors How to use the MSVC build tools to target ARM hardware.

코드 최적화 프로그램 기반 최적화를 비롯 한 다양 한 방법으로 코드를 최적화 하는 방법입니다.Optimizing Your Code How to optimize your code in various ways including program guided optimizations.

WINDOWS XP 용 프로그램 구성 MSVC build 도구를 사용 하 여 Windows XP를 대상으로 하는 방법Configuring Programs for Windows XP How to target Windows XP with the MSVC build tools.

C/C++ 빌드 참조C/C++ Building Reference
C++, 컴파일러/링커 옵션 및 다양한 빌드 도구를 사용한 프로그램 빌드와 관련된 참조 문서의 링크를 제공합니다.Provides links to reference articles about program building in C++, compiler and linker options, and various build tools.