--- title: "C/C++ Building Reference - Visual Studio" description: "Reference content for C/C++ project system and build tools in Visual Studio." ms.date: "05/06/2019" helpviewer_keywords: ["compiling source code [C++], additional information", "cl.exe compiler [C++], building programs", "linker [C++], building reference", "builds [C++], additional information"] ms.assetid: 100b4ccf-572c-4d1f-970c-fa0bc0cc0d2d --- # C/C++ Building Reference Visual Studio provides two ways of building a C/C++ program. The easiest (and most common) way is to [build within the Visual Studio IDE](../creating-and-managing-visual-cpp-projects.md). The other way is to [build from a command prompt using command-line tools](../building-on-the-command-line.md). In either case, you can create and edit your source files using Visual Studio or a third-party editor of your choice. ## In This Section [MSBuild reference for C++ projects](msbuild-visual-cpp-overview.md) [MSVC Compiler Reference](compiling-a-c-cpp-program.md)
Describes the MSVC compiler, which creates an object file containing machine code, linker directives, sections, external references, and function/data names. [MSVC linker reference](linking.md)
Describes the linker, which combines code from the object files created by the compiler and from statically linked libraries, resolves the name references, and creates an executable file. [Unicode Support in the Compiler and Linker](unicode-support-in-the-compiler-and-linker.md) [Additional MSVC Build Tools](c-cpp-build-tools.md)
Additional command-line tools for C++. [C/C++ Build Errors](../../error-messages/compiler-errors-1/c-cpp-build-errors.md)
Introduces the build errors section in the table of contents. ## Related Sections [C/C++ Preprocessor Reference](../../preprocessor/c-cpp-preprocessor-reference.md)
Discusses the preprocessor, which prepares source files for the compiler by translating macros, operators, and directives. [Understanding Custom Build Steps and Build Events](../understanding-custom-build-steps-and-build-events.md)
Discusses customizing the build process. [Building a C/C++ Program](../projects-and-build-systems-cpp.md)
Provides links to topics describing building your program from the command line or from the integrated development environment of Visual Studio. [MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md)
Describes setting compiler options in the development environment or on the command line. [MSVC Compiler Options](compiler-options.md)
Provides links to topics discussing using compiler options. [MSVC linker reference](linking.md)
Describes setting linker options inside or outside the integrated development environment. [MSVC Linker Options](linker-options.md)
Provides links to topics discussing using linker options. [BSCMAKE Reference](bscmake-reference.md)
Describes the Microsoft Browse Information Maintenance Utility (BSCMAKE.EXE), which builds a browse information file (.bsc) from .sbr files created during compilation. [LIB Reference](lib-reference.md)
Describes the Microsoft Library Manager (LIB.exe), which creates and manages a library of Common Object File Format (COFF) object files. [EDITBIN Reference](editbin-reference.md)
Describes the Microsoft COFF Binary File Editor (EDITBIN.EXE), which modifies Common Object File Format (COFF) binary files. [DUMPBIN Reference](dumpbin-reference.md)
Describes the Microsoft COFF Binary File Dumper (DUMPBIN.EXE), which displays information about Common Object File Format (COFF) binary files. [NMAKE Reference](nmake-reference.md)
Describes the Microsoft Program Maintenance Utility (NMAKE.EXE), which is a tool that builds projects based on commands contained in a description file.