Spinning Topp Logo BlackTopp Studios
inc
installing_engine_deps_windows.h
1 // © Copyright 2010 - 2016 BlackTopp Studios Inc.
2 /* This file is part of The Mezzanine Engine.
3 
4  The Mezzanine Engine is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  The Mezzanine Engine is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with The Mezzanine Engine. If not, see <http://www.gnu.org/licenses/>.
16 */
17 /* The original authors have included a copy of the license specified above in the
18  'Docs' folder. See 'gpl.txt'
19 */
20 /* We welcome the use of the Mezzanine engine to anyone, including companies who wish to
21  Build professional software and charge for their product.
22 
23  However there are some practical restrictions, so if your project involves
24  any of the following you should contact us and we will try to work something
25  out:
26  - DRM or Copy Protection of any kind(except Copyrights)
27  - Software Patents You Do Not Wish to Freely License
28  - Any Kind of Linking to Non-GPL licensed Works
29  - Are Currently In Violation of Another Copyright Holder's GPL License
30  - If You want to change our code and not add a few hundred MB of stuff to
31  your distribution
32 
33  These and other limitations could cause serious legal problems if you ignore
34  them, so it is best to simply contact us or the Free Software Foundation, if
35  you have any questions.
36 
37  Joseph Toppi - toppij@gmail.com
38  John Blackwood - makoenergy02@gmail.com
39 */
40 
41 #ifndef installing_engine_deps_windows_h
42 #define installing_engine_deps_windows_h
43 
44 /**
45  @page installing_engine_deps_windows Installing Windows Engine Dependencies
46  @section installing_engine_deps_windows_mingw MinGW
47  The following steps for additional library configuration with the Mezzanine only apply when
48  using MinGW32.
49 
50  If you want to use OpenGL and WinMM as the video and audio backends for your application there
51  are no additional steps you need to follow here. However if you want to use DirectX and/or
52  DirectSound then you will need to install the DirectX SDK.
53  @n
54  For Windows 7/Vista users you can
55  download the SDK as it's own thing from
56  @htmlonly<a href="http://www.microsoft.com/en-us/download/details.aspx?id=6812">@endhtmlonly
57  here
58  @htmlonly</a>@endhtmlonly
59  . The Feburary 2010 version has been tested and is known to be bad/faulty with our
60  configuration, so ensure you download the June 2010 or newer version.
61  @n
62  For Windows 8/8.1/10 users
63  M$ has packaged the DirectX SDK with all the other major Windows SDKs. You can get the Windows
64  SDK for Windows 8.1 from
65  @htmlonly<a href="https://dev.windows.com/en-us/downloads/windows-8-1-sdk">@endhtmlonly
66  here
67  @htmlonly</a>@endhtmlonly
68  , and for Windows 10 from
69  @htmlonly<a href="https://dev.windows.com/en-us/downloads/windows-10-sdk">@endhtmlonly
70  here
71  @htmlonly</a>@endhtmlonly
72  .
73 
74  @n
75  After installing the appropriate SDK you must add its install location to the system “Path”
76  variable. During installation it will prompt you for where it will be installed, make note of
77  that location when it does. In the event that you are reading this and already installed it, the
78  typical locations for the DirectX SDK install are: @n @n
79 
80  Windows Vista/7 32-bit:
81  - C:\\Program Files\\Microsoft DirectX SDK (June 2010)
82 
83  Windows Vista/7 64-bit:
84  - C:\\Program Files(x86)\\Microsoft DirectX SDK (June 2010)
85 
86  Windows 8.1/10 32-bit (is this even a thing?):
87  - C:\\Program Files\\Windows Kits
88  - C:\\Program Files\\Microsoft SDKs\\Windows
89 
90  Windows 8.1/10 64-bit:
91  - C:\\Program Files(x86)\\Windows Kits
92  - C:\\Program Files(x86)\\Microsoft SDKs\\Windows
93 
94  For Windows 8.1 and 10, there will be additional folders for different SDKs available. For example
95  you may have a "v8.1" folder or a "10" folder inside the folder noted above depending on the SDK.
96  Check those directories first and verify its location. Once you do copy that path to the system
97  “Path” variable with the following the instruction on the @ref path_on_windows page.
98 
99  @n
100  That is all the only step needed to get DirectX working. This also applies for DirectSound if
101  you are using MSVC/Visual Studio. DirectSound on specific versions of MinGW needs a little bit
102  more help, however. If you are using 32-bit MinGW from Msys then proceed to the next paragraph.
103  Otherwise other distributions of MinGW that have been tested (such as TDM-GCC64) do not need extra
104  steps.
105  @n
106  You need to copy a header file available in a Microsoft Visual Studio install, and make it
107  available to MinGW. So download and install the latest version of Microsoft Visual Studio
108  express. The version I used and tested was Visual Studio 9.0. Once installed navigate to its
109  install folder. For me this was in “C:\\Program Files\\Microsoft Visual Studio 9.0” (you may or
110  may not need to append “x86” to the “Program Files” folder name). Once there you need to get to
111  it’s include directory, to do that enter the “VC” folder, then the “include” folder. In there
112  you should find a header file named “sal.h”. If you don’t, you may not have the proper version
113  of Visual Studio installed. Once you find it you must copy it to your MinGW include folder
114  which by default is located at “C:\\MinGW\\include”. This should enable the DirectSound backend
115  for the audio subsystem with MinGW on Windows. You can check the output when you configure CMake
116  to verify.
117 
118  @n
119  Libraries using DirectX components should be able to detect and use the DirectX SDK provided by
120  the compiler at this point. You may need to close and restart applications for this to take
121  effect (such as CMake if you are using the GUI).
122 */
123 
124 #endif