Compiler choices: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
(37 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{otherlang2|ru=Compiler Choices:ru|es=Compiler Choices:es}}
{{LanguageBar}}
'''{{For|about=choosing a C++ code compiler|a list of subjects which use the word "compiler"|[[Compiler]]}}'''


[[File:Visual studio logo.png|right|Visual Studio logo]]
You have several choices for compiling unedited variants of the Source SDK depending on which version you are using.
[[File:Gccegg-65.png|right|GCC logo]]
 
= Visual Studio =
[[File:Icon-VStudio.png|150px|right|Visual Studio logo]]
[[File:Visual studio logo.png|right|thumb|Visual Studio logo used from 2010-2012.]]
{{Industry tool|{{w|Visual Studio}}}}
{{for|about=the IDE recommended for use with the Source engine's C++ code|the rich text editor commonly used with scripts|[[Visual Studio Code]]}}
 
'''Visual Studio''' is an {{w|Integrated development environment}} (IDE) developed and maintained by Microsoft. It is the default IDE recommended for use with the Source SDK on Windows. In {{src13|4}}, the default version of Visual Studio used for Source engine development is '''Visual Studio 2013''' ('''Visual Studio 2022''' for {{tf2branch|4}}). Older versions of Visual Studio are not compatible with Source 2013, and newer versions of Visual Studio will not work with Source 2013 by default.
 
Please see [[Setting up Source SDK Base 2013 Singleplayer#Step One: Installing requirements|Installing Visual Studio 2013]] (for {{src13sp}}) or [[Setting up Source SDK Base 2013 Multiplayer#Step One: Installing requirements|Installing Visual Studio 2022]] (for {{tf2branch}}) for more information on how to install Visual Studio, as well as how newer versions of Visual Studio can be used.
 
== Availability ==
Different versions of Visual Studio are supported between different versions of the Source SDK.


You have several choices for compiling the Source SDK:
{| class="standard-table plainlinks" style="width:60%"
! Version
! Engine branch
! Requirements
|-
| Visual Studio 2002
|rowspan="2"| {{src06|4.1}} and earlier
| See [[Compiling under VS2002]].
|-
| Visual Studio 2003
| See [[Compiling under VS2003]].
|-
| Visual Studio 2005
|rowspan="2"| {{astools|4.1|nt=1}}, {{src07|4.1}} and earlier
| See [[Compiling under VS2005]].
|-
| Visual Studio 2008
| See [[Compiling under VS2008]].
|-
| Visual Studio 2010
|rowspan="2"| {{astools|4.1|nt=1}}, {{src07|4.1}} and earlier</br>{{src13sp|4.1}}</br>{{src13mp|4.1}} (pre-2025)
| {{astools}}, {{src07}} and earlier: See [[Compiling under VS2010]].</br>{{src13|1}}: Add /2010 to your VPC command line
|-
| Visual Studio 2012
| {{astools}}, {{src07}} and earlier: See [[Compiling under VS2012]].</br>{{src13|1}}: Supported
|-
| Visual Studio 2013
|rowspan="4"| {{src13sp|4.1}}</br>{{src13mp|4.1}} (pre-2025)
| ''Default'' for Singleplayer only, aswell as pre-2025 Multiplayer.
|-
| Visual Studio 2015
|rowspan="3"| See [[Compiling under VS2022]].
|-
| Visual Studio 2017
|-
| Visual Studio 2019
|-
| Visual Studio 2022
| {{src13sp|4.1}}</br>{{tf2branch|4.1}}
| {{tf2branch|1}}: ''Default''. See [[Setting up Source SDK Base 2013 Multiplayer]].</br>{{src13sp|1}}: See [[Compiling under VS2022]].
|}


#'''[http://www.microsoft.com/visualstudio/en-us/products/2005-editions Visual Studio 2005]''' / '''[http://download.microsoft.com/download/8/3/a/83aad8f9-38ba-4503-b3cd-ba28c360c27b/ENU/vcsetup.exe Visual C++ Express 2005]''' — which are the officially-supported compilers.
<br><hr><br>
#'''[http://www.microsoft.com/visualstudio/en-us/products/2008-editions/ Visual Studio 2008]''' / '''[http://www.microsoft.com/express/Downloads/#2008-Visual-CPP Visual C++ Express 2008]''' — which can be used [[Compiling under VS2008|after a bit of work]].
#'''[http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ Visual Studio 2010]''' / '''[http://www.microsoft.com/express/Downloads/#2010-Visual-CPP Visual C++ Express 2010]''' — [[Compiling under VS2010|ditto]] (Does not work with Alien Swarm SDK).
#'''[http://gcc.gnu.org/ GCC]''' — which is used to compile [[Wikipedia:Linux|Linux]] [[Dedicated server|Dedicated Server]]s.


If you own a copy of Visual Studio you'll probably want to use that, and if you're compiling for Linux you don't have a choice to make, which leaves only the Express editions to choose between. There isn't much competition any more: choose 2010 for better compiling, better InteliSense, better UI, and better Vista/7 compatibility.
= GCC =
[[File:Gccegg-65.png|right|GCC logo]]
{{Industry tool|{{w|GNU Compiler Collection}}}}
The '''GNU Compiler Collection (GCC)''' is a collection of code compilers maintained by the GNU Project. '''G++''' in particular is the default compiler recommended for use with the Source SDK on Linux.


== Additional SDKs ==
== Availability ==
{{note|{{astools|4.1}} does not support GCC. If you want your Alien Swarm mod to run on Linux, you will need to use Proton.}}
{{todo|What about the {{tf2branch|4}}?}}
{| class="standard-table plainlinks" style="width:60%"
! Version
! Engine branch
! Requirements
|-
| GCC 4.2.x or lower
| {{src07|4.1}} and earlier
| See [[Compiling under Linux]].
|-
| GCC 4.6-4.8
|rowspan="2"| {{src13|4.1}}</br>{{tf2branch|4.1}}{{confirm}}
| See [[Source SDK 2013#Source SDK 2013 on Linux ("container" method)|Source SDK 2013 on Linux ("container" method)]].
|-
| GCC 5 or higher
| See [[Source SDK 2013#Source SDK 2013 on Linux ("container" method)|Source SDK 2013 on Linux ("container" method)]] and optional step for changing the toolchain.
|}


* Visual C++ Express 2005 users need to download the [http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&DisplayLang=en Windows SDK] (Windows 2000 users: [http://www.microsoft.com/downloads/details.aspx?familyid=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en Platform SDK]).
<br><hr><br>
* If you want to create new [[shader]]s, the [http://msdn2.microsoft.com/directx/aa937788.aspx DirectX SDK] is required.


== See also ==
= See also =
* [[Building without Visual Studio]]
* {{vscode|4.1}} — A rich text editor commonly used with scripts outside of the code.


* [[Compiling under VS2005]]
== External links ==
* [[Compiling under VS2008]]
* [https://visualstudio.microsoft.com/ Visual Studio]
* [[Compiling under VS2010]]
* [http://gcc.gnu.org/ GCC]
* [[Compiling under Linux]]


[[Category:Source SDK FAQ]]
[[Category:Source SDK FAQ]]
[[Category:Programming]]
[[Category:Programming]]

Latest revision as of 22:59, 22 March 2025

English (en)Español (es)Русский (ru)Translate (Translate)
This article is about choosing a C++ code compiler. For a list of subjects which use the word "compiler", see Compiler.

You have several choices for compiling unedited variants of the Source SDK depending on which version you are using.

Visual Studio

Visual Studio logo
Visual Studio logo used from 2010-2012.
Info.png
This article or section is about an external tool that is not directly related to Valve's engines. It is not an exhaustive source of information and may only exist on this wiki for reference purposes.
Please see Wikipedia icon Visual Studio for more information on the tool itself.
This article is about the IDE recommended for use with the Source engine's C++ code. For the rich text editor commonly used with scripts, see Visual Studio Code.

Visual Studio is an Wikipedia icon Integrated development environment (IDE) developed and maintained by Microsoft. It is the default IDE recommended for use with the Source SDK on Windows. In Source 2013 Source 2013, the default version of Visual Studio used for Source engine development is Visual Studio 2013 (Visual Studio 2022 for Team Fortress 2 branch Team Fortress 2 branch). Older versions of Visual Studio are not compatible with Source 2013, and newer versions of Visual Studio will not work with Source 2013 by default.

Please see Installing Visual Studio 2013 (for Source 2013 Singleplayer) or Installing Visual Studio 2022 (for Team Fortress 2 branch) for more information on how to install Visual Studio, as well as how newer versions of Visual Studio can be used.

Availability

Different versions of Visual Studio are supported between different versions of the Source SDK.




GCC

GCC logo
Info.png
This article or section is about an external tool that is not directly related to Valve's engines. It is not an exhaustive source of information and may only exist on this wiki for reference purposes.
Please see Wikipedia icon GNU Compiler Collection for more information on the tool itself.

The GNU Compiler Collection (GCC) is a collection of code compilers maintained by the GNU Project. G++ in particular is the default compiler recommended for use with the Source SDK on Linux.

Availability

Note.pngNote:Alien Swarm - SDK Alien Swarm - SDK does not support GCC. If you want your Alien Swarm mod to run on Linux, you will need to use Proton.
Todo: What about the Team Fortress 2 branch Team Fortress 2 branch?




See also

External links