BlackTopp Studios
inc
Main
Namespaces
Classes
Files
File List
File Members
Mezzanine
src
dox
cxx_training.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
#ifndef cxx_training_h
41
#define cxx_training_h
42
43
/**
44
@page cxx_training_and_tools C++ Training and Tools
45
For many of the people on this team, these are tools and tutorials we learned with and use. We
46
keep some links and information here to make it easy for people to jump into our team. Please
47
don’t think that because you use different tools we don’t want your help, this is what we have
48
used and might recommend, not what everyone should use for everything. If you have some info,
49
particularly information about any tools or techniques not well covered we would love to include
50
it.
51
52
@section cxx_training_and_tools_tools Coding Tools
53
Since we have an open policy towards helping non-developers get started, we
54
want to make it easy to get started as a developer and learn about our tools about our tools.
55
56
@subsection cxx_training_and_tools_compilers Compilers and Development Environments
57
We primarily use G++/MinGW for a compiler, Code::blocks for our Development environment, and GDB
58
as our debugger. Code::blocks makes it all pretty seamless. There are a few different platforms
59
that we do not have comprehensive steps for working on because we have not ported Catch! and the
60
Mezzanine Engine to them yet. Please make appropriate revisions here once you have the steps to
61
do something new.
62
63
- @ref dev_tools_windows — Complete for XP/Vista - Win7/10work but need details
64
- @ref dev_tools_linux — Complete and easy on Ubuntu, Fedora and others need details
65
- @ref dev_tools_mac — In Progress
66
67
@n
68
Eventually we will need Dev tool pages for Mac OS, Iphone, Android, Several Consoles, Other
69
Mobile.
70
71
@subsection cxx_training_and_tools_git Git - Source Revision Control
72
Git is our source control system. This is how we keep everyone up to up to date. See above for
73
instructions on getting Git for your workstation. To grab a copy of the code run the following
74
command from at a command line, or “git bash” terminal. If you are using a graphical git client
75
just use the URL portion of the command:
76
77
@verbatim
78
git clone git://github.com/BlackToppStudios/Mezzanine.git
79
@endverbatim
80
81
@n
82
For more details on Git usage see some third party tutorials:
83
84
- @htmlonly<a href="https://www.atlassian.com/git/tutorials/">@endhtmlonly
85
Atlassian's Git tutorials
86
@htmlonly</a>@endhtmlonly
87
- @htmlonly<a href="http://git.or.cz/course/svn.html">@endhtmlonly
88
Git Comparison to SVN
89
@htmlonly</a>@endhtmlonly
90
- @htmlonly<a href="http://linux.yyz.us/git-howto.html">@endhtmlonly
91
Hacker’s guide to git
92
@htmlonly</a>@endhtmlonly
93
94
@section cxx_training_and_training Training
95
Since this whole project is being built in standard C++ (or certain external libraries), we
96
thought it would be prudent to include some resources for learning it:
97
98
@subsection cxx_training_and_tutorials Standard C++ Tutorials
99
If you have never used C++ and you need to somewhere to get started tutorials might be ideal:
100
- @htmlonly<a href="http://www.cplusplus.com/doc/tutorial/introduction/">@endhtmlonly
101
Cplusplus.com beginners Tutorial
102
@htmlonly</a>@endhtmlonly
103
— To help newer developers whet their appetite C++ Development.
104
105
- @htmlonly<a href="https://www.google.com/search?q=c%2B%2B+tutorial">@endhtmlonly
106
Google “C++ tutorial”
107
@htmlonly</a>@endhtmlonly
108
for some very useful information.
109
110
@subsection cxx_training_and_beyond_tutorials Beyond Tutorials
111
To expand on basic knowledge or round
112
- @htmlonly<a href="https://github.com/isocpp/CppCoreGuidelines">@endhtmlonly
113
C++ Core Guidelines
114
@htmlonly</a>@endhtmlonly
115
116
- @htmlonly
117
<a href="http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-1-starting-threads.html">
118
@endhtmlonly
119
Just Software Threading tutorials
120
@htmlonly</a>@endhtmlonly
121
on the std::thread library.
122
123
- @htmlonly<a href="http://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/">
124
@endhtmlonly
125
How to link a library
126
@htmlonly</a>@endhtmlonly
127
128
- @htmlonly<a href="http://duramecho.com/ComputerInformation/WhyHowCppConst.html">@endhtmlonly
129
Using Const How and Why
130
@htmlonly</a>@endhtmlonly
131
132
- Angelika Langer has a fantastic article about
133
@htmlonly<a href="http://www.angelikalanger.com/IOStreams/Excerpt/excerpt.htm#Top">@endhtmlonly
134
c++ streams and streambufs
135
@htmlonly</a>@endhtmlonly
136
. It explains how to connect a stream to any serializable data source.
137
138
@subsection cxx_training_and_gaming Gaming Sources
139
140
- For more information on our internal graphics implementation there is the
141
@htmlonly<a href="http://www.ogre3d.org/forums/">@endhtmlonly
142
Ogre forums
143
@htmlonly</a>@endhtmlonly
144
.
145
146
- For more information on our internal physics implementation there is the
147
@htmlonly<a href="http://www.bulletphysics.org/Bullet/phpBB3/">@endhtmlonly
148
Bullet forums
149
@htmlonly</a>@endhtmlonly
150
.
151
152
- For more generic information on a broad range of topics relating to Game Dev there is the
153
@htmlonly<a href="https://www.reddit.com/r/gamedev">@endhtmlonly
154
Game Dev subreddit
155
@htmlonly</a>@endhtmlonly
156
or
157
@htmlonly<a href="http://www.gamedev.net/page/index.html">@endhtmlonly
158
GameDev.net
159
@htmlonly</a>@endhtmlonly
160
. However, your mileage may vary with those sites.
161
*/
162
163
164
#endif
Generated on Wed Apr 6 2016 08:34:46 for BlackTopp Studios inc by
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.