рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ CLE рдХреЛ IDE рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдзреГрд╖реНрдЯрддрд╛ рдереАред рдФрд░ рдлрд┐рд░ рдПрдХ рдЖрджрдореА рдПрдХ рд╕рд╡рд╛рд▓ рдХреЗ рд╕рд╛рде рджреМрдбрд╝рддрд╛ рд╣реБрдЖ рдЖрдпрд╛: рдУрд╣, рдПрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рд╣реБрдЖ рд╢рд┐рд▓реНрдк, рдмреЗрдЪрд╛ рд╣реБрдЖ, рдЫреАрдирд╛ рд╣реБрдЖ, рдЖрджрд┐ред рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рд╣реЛрдмреЗ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рдРрд╕реА рдЯрд┐рдкреНрдкрдгреА рдереА, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рд╕рдХреНрд░рд┐рдп LOR рдЦрд╛рддрд╛, рдореИрдВ 2010 рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИ, рдФрд░ рд▓рдЧрднрдЧ рд╣рд░ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдХреБрдЫ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╣ рдирд░рдХ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдХреЛ рдХреБрдЫ рднреА рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рджреБрд░реНрд▓рдн рднрдЯрдХрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдЦ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╕рд╛рдорд╛рдЬрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░реЗрд░рдХ рдФрд░ рддрдХрдиреАрдХреА (рд╡рд┐рднрд┐рдиреНрди рдЖрдИрдбреАрдИ рдХреЗ рддрд╣рдд рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕реАрдПрдордХреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ)ред

рдпрд╣ рд╕рдм рдХрд╣рд╛рдВ рдЪрд▓рд╛ рдЧрдпрд╛
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреА рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рд▓реЗрдЦ рдХрд╛ рдЖрдзрд╛рд░ рдереА : "рдпрджрд┐ рдкреЙрдбрдХрд╛рд╕реНрдЯ рд╢реБрд░реБрдЖрддреА рдФрд░ рдмрд┐рдЫрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреЛ рдЖрдкрдиреЗ рдЖрдИрдбреАрдИ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдпрд╛ :(" рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рджред
рд▓реЗрдЦ рдПрдХ рдЪрд┐рдХреЛрдЯреА рдзрд╛рд░рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдФрд░ рдЙрд╕ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд░рд┐рдХреЙрд░реНрдб рдпреВрдЯреНрдпреВрдм рдкрд░ рд╣реИред рдпрд╣ рд▓реЗрдЦ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХ рдЙрддреНрдкрд╛рдж рд╣реИред
рд╕реНрд░реЛрдд рд╕рдВрджреЗрд╢
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдореВрд▓ рдзрд╛рд░рдгрд╛ рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ: рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдорд╣рдВрдЧрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ CLion рдХреА рд▓рд╛рдЧрдд 8.90 рд░реБрдкрдпреЗ рдкреНрд░рддрд┐ рдорд╛рд╣ рд╣реИред 580 рд░реВрдмрд▓ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрд┐рд╕реА рдЬреАрд╡рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдХрднреА-рдХрднреА рдПрдХ рд╕рднреНрдп рд░рд╛рд╢рд┐ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рднреЛрдЬрди рдЦрд░реАрджреЗрдВред
рдПрдХ рдкреЗрд╢реЗрд╡рд░ рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рдПрдХ рдкрддреНрд░рдХрд╛рд░ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдпрд╛ рдЧреЗрдо рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд╡рд┐рдкрдгрди рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдХрд┐ рд╡рд╣ рдкрд╛рд░реНрдЯреА рдиреАрддрд┐ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЙрддреНрдкрд╛рдж рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИред рд╡рд╣ рдЬреИрд╕рд╛ рдмреЛрд▓рддрд╛ рд╣реИред рдпрд╣ рд╕рдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИ, рдПрдХ рдкрддреНрд░рдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рдХреИрд╕реЗ рджреЗрдЦрддрд╛ рд╣реИред рдпрд╣реА рдмрд╛рдд рдЕрд╕рд▓реА рдкреНрд░рдЪрд╛рд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рднреА рд╣реИред
рдШрдЯрдирд╛ рдХрд╛ рд╕рд╛рд░, рдФрд░ рд╕рд╛рд▓ рдХреА рдХрдбрд╝реА,
рджреЛрд╕реНрддреЛрдВ рдХреЗ рдЪреЗрд╣рд░реЗ, рдФрд░ рджреБрд╢реНрдордиреЛрдВ рдХреЗ рдореБрдЦреМрдЯреЗ,
рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЫрд┐рдк рдирд╣реАрдВ рд╕рдХрддрд╛
рдХрд╡рд┐ рдХреА рдирдЬрд╝рд░ рд╕реЗ - рд╕рджрд┐рдпреЛрдВ рдХрд╛ рдорд╛рд▓рд┐рдХред
рджреВрд░ рдХреЗ рд╕рд┐рддрд╛рд░реЛрдВ рдХреА рд░реЛрд╢рдиреА рдФрд░ рд╕реБрдмрд╣ рдХреА рд╢реБрд░реБрдЖрдд
рдЬреАрд╡рди рдХреЗ рд░рд╣рд╕реНрдп рдФрд░ рдкреНрд░реЗрдо рдХреЗ рд░рд╣рд╕реНрдп
рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рдПрдХ рдкрд▓ рдореЗрдВ, рд╕реВрд░рдЬ рд╕реЗ рдЧрд░реНрдо -
рд╕рдм рдХреБрдЫ рдХрд╡рд┐ рдХреА рдЖрддреНрдорд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ -
рджреБрдирд┐рдпрд╛ рдХреЗ рдЖрдИрдиреЗ рдореЗрдВ ...
(c) рдХреЛрдиреНрд╕реНрдЯреЗрдВрдЯрд┐рди рдирд┐рдХреЛрд▓реНрд╕реНрдХреА, рдорд┐рд░рд░ рдСрдлрд╝ рдж рд╡рд░реНрд▓реНрдб
рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ CLion рдЖрдкрдХреА рдЖрдп рдХреИрд╕реЗ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрд┐рд╕реА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдПрдВрдЧреЗ, рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рдХреБрдЫ рдФрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
typology
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдореВрд╣реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдмрдВрдж рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдмрдордмрд╛рд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВ, рдореИрдВ рд╕рдорд╛рдЬрд╢рд╛рд╕реНрддреНрд░реА рдирд╣реАрдВ рд╣реВрдБ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдЯрд╛рдЗрдкреЛрд▓реЙрдЬреА рд╣реИ рдЬреЛ рдлреЛрд░рдо рд╢реЛрдбрд╛рдЙрди рдХреА рдЧрд░реНрдореА рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдИ рд╣реИред рдЗрд╕рдХрд╛ рдХреЗрд╡рд▓ рдпрд╣ рд▓рд╛рдн рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рджреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдХрд░ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реИред
рддреЛ, рд▓реЛрдЧ рд╣реИрдВ:
- рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╕реЗрдирд╛рдиреА рдФрд░ рдореБрдХреНрдд рд╕реНрд░реЛрдд
- рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЧрд▓рддреА рдХреА
- рдЬрд╛рдирд╡рд░реЛрдВ
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рдХреА рдЧрд▓рддреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рди рдХрд░реЗрдВред рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдорд╛рдорд▓рд╛ рд╣реВрдБ ред
рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╕реЗрдирд╛рдиреА рдФрд░ рдореБрдХреНрдд рд╕реНрд░реЛрдд
рд╕рдмрд╕реЗ рд╢реБрджреНрдз рдФрд░ рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рд╕рд▓рд╛рдореА рдмрд▓реНрд▓реЗрдмрд╛рдЬ рд╣реИрдВред рдореИрдВ рдЦреБрдж рдЙрди рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реВрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ "рд▓рд┐рдирдХреНрд╕" рд╢рдмреНрдж рд╕реБрдирд╛ рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИ, "рд▓рд┐рдирдХреНрд╕ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ ред " рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрднреА рднреА рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореЛрдЬрд╝рд┐рд▓рд╛ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдордЬрд╛рдХ рдХрд┐рдпрд╛ (рдпрд╛ рдирд╣реАрдВ), "рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?"ред
рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рдерд╛, рдорд┐рдЧреБрдПрд▓ рдбреЗ рдЗрдХрдЬрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЧрдиреЛрдо рдХреЛ рдмрдирд╛рдпрд╛ рдФрд░ рдПрдХ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдПрдХ рд╣рд╛рде рдерд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЗрд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рдЙрд╕реЗ рд╕рдореБрджрд╛рдп рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рд╕реНрдЯреИрд▓рдореИрди рдиреЗ рдЙрд╕реЗ "рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рдЧрджреНрджрд╛рд░" рдХрд╣рд╛:
тАЬрдорд┐рдЧреБрдПрд▓ рдбреЗ рдЗрдХрд╛рдЬрд╝рд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдлреНрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдореБрджрд╛рдп рдХреЗ рдЧрджреНрджрд╛рд░ рд╣реИрдВред <...> рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ "рдУрдкрди рд╕реЛрд░реНрд╕" рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдирд╛ рд╣реИ; рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдЕрдореВрд▓реНрдп рд╕рдордп рдореБрдлреНрдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ тАЭ
рдФрд░ рдЕрдм рдорд┐рдЧреБрдПрд▓ рдХрд╣рд╛рдВ рд╣реИ? рд╡рд╣ рдФрд░ рдЙрдирдХреА рдЯреАрдо рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдХрдВрдзреЗ рд╕реЗ рдХрдВрдзрд╛ рдорд┐рд▓рд╛рдХрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рдЕрдиреБрдордд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд .NET рдХреЛ GNU / Linux рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд╣реА рдорд╛рдпрдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред
рд╕реНрдЯреНрд░реАрдо рдкрд░, рдореИрдВрдиреЗ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдХреЗ рддрд╣рдд CMake рдХреЛ рдареЛрдХрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдмреАрд╕ рдорд┐рдирдЯ рдорд╛рд░реЗред рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдлреНрд░реА рдореЗрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдлреНрд░реА рдирд╣реАрдВ, рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдирд┐рдХрд▓рд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдЕрдХреНрд╕рд░ рдореБрдлреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдореЗрдВ, рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдВрдб-рдЯреВ-рдПрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЛрдЪрдиреЗ рдФрд░ рдкреВрд░реЗ рдЙрддреНрдкрд╛рдж рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ рдиреИрддрд┐рдХ рдФрд░ рдиреИрддрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ: рдпрд╛ рддреЛ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдореБрдлреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдХрд┐рдХ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдПрдВ, рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рдордп рдЦрд░реАрджрдиреЗ рдкрд░ рд╣рдорд╛рд░реА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдЦрд░реНрдЪ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рддрдХрдиреАрдХреА рдореБрджреНрджреЛрдВ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рд╣рдо рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдПрдХ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛рддреНрдордХ рд╡реНрдпрдХреНрддрд┐ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдкреНрд░рддрд┐ рд╕рдЪреНрдЪрд╛ рд╣реЛрддрд╛ рд╣реИред
рдЬрд╛рдирд╡рд░реЛрдВ
рдУрд╣, рд▓реЗрдХрд┐рди рдпрд╣ рд╢реНрд░реЗрдгреА рдореБрдЭреЗ рдмрдордмрд╛рд░реА рдХрд░ рд░рд╣реА рд╣реИред
"рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЬреЛ рдЙрд╕реЗ рдЕрдиреНрдп рдЬрд╛рдирд╡рд░реЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИрдВ, рд╡реЗ рдИрдорд╛рдирджрд╛рд░ рдореБрджреНрд░рд╛, рдЙрдЪреНрдЪ рд╡рд┐рдХрд╕рд┐рдд рдорд╕реНрддрд┐рд╖реНрдХ, рд╕реЛрдЪ рдФрд░ рд╕реНрдкрд╖реНрдЯ рднрд╛рд╖рдг рд╣реИрдВред рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЕрдзреНрдпрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЦреБрдж рдХреЛ рдФрд░ рдЙрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ, рдПрдХ рд╕рдВрд╕реНрдХреГрддрд┐ рдФрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдХрд╣рд╛рдиреА рдмрдирд╛рддрд╛ рд╣реИред" (c) рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдИрдбреАрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрд╛рддрдЪреАрдд рдореЗрдВ, рдпрд╣ рдЕрдХреНрд╕рд░ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд░реНрддрд╛рдХрд╛рд░ рд╕реНрд╡рддрдВрддреНрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рд╕реНрдкрд╖реНрдЯ рднрд╛рд╖рдг рдХреЗ рдмрдЬрд╛рдп, рд╡рд╣ "рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирджрдВрдб рд╣реИрдВ" рдФрд░ рд╡реЗ рдЬреЛ рджреЗрддреЗ рд╣реИрдВ рд╡рд╣ рдЦрд╛рддрд╛ рд╣реИред рдИрдорд╛рдирджрд╛рд░ рдореБрджреНрд░рд╛ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИред
рдпреЗ рдЬреАрд╡ рдХрд┐рд╕реА рдкрд░ рднреА рд╕рдм рдХреБрдЫ рд╕рд╡рд╛рд░реА рдХрд░рддреЗ рд╣реИрдВред рдЦреЗрд▓ рдореЗрдВ, рд╡реЗ рдЙрджрд╛рд╕реАрди рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рд▓реВрдЯрдмреЙрдХреНрд╕ рдФрд░ рдбреАрдПрд▓рд╕реА рдмреЗрдЪрддреЗ рд╣реИрдВред рд╕рдВрдкрд╛рджрдХреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдорд░реАрдЬ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг, рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд╕рд╛рде, рдФрд░ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдлрд╝реИрдирдЬрд╝реЗрдкрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рд╕рдм рдХреБрдЫ рдЦрд╛ рд▓реЗрдВрдЧреЗред "рдФрд░ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдорд╛рдирджрдВрдб рд╣реИрдВред"
рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рди рдХреЗрд╡рд▓ рд╡рд┐рдкрдгрдХ рдЕрдкрдиреЗ рдХрд╛рдиреЛрдВ рдкрд░ рдЧрд╛рдбрд╝реА рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдмрд╕ рдЯреНрд░реЛрд▓, рдпрд╛ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╡рд┐рджреНрд╡рд╛рди рднреА рд╣реИрдВред рдХрдИ рд╕рд┐рдЬрд╝реЛрд╕ рд╣реИрдВ, рдЖрдк рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдирд╛ рдирд╣реАрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдХрд┐рддреЛрдиреНрд╕реНрдХреА рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдШреЛрд╖рдгрд╛рдкрддреНрд░ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╣реИрдмрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж) рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ: рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдореЗрд░реА рдирд┐рд░рд╛рд╢рд╛ ? рдХреИрд╕реЗ рдореИрдВ рдЙрд╕рд╕реЗ рдмрдо рд╣реЛ рдЧрдпрд╛ред рдореБрдЭреЗ рдкреВрд░реА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ Nikitonsky рдиреЗ рдпрд╣ рд╕рдм рдЬрд╛рдирдмреВрдЭрдХрд░ рдЫреВрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред
рджреЗрдЦреЛ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдЪреАрдЬ рд╣реИрдВ:
- рд╕рдм рдХреБрдЫ рдЕрд╕рд╣рдиреАрдп рд░реВрдк рд╕реЗ рдзреАрдорд╛ рд╣реИ - рдПрдХ рдЖрдзреБрдирд┐рдХ рдлреЛрди рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдЬрд┐рд╕рдиреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЪрдВрджреНрд░рдорд╛ рдкрд░ рднреЗрдЬрд╛;
- рд╕рдм рдХреБрдЫ рдмрдбрд╝рд╛ рд╣реИ - рдПрдВрдбреНрд░реЙрдЗрдб рдХрд╛ рд╡рдЬрди 6 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИ;
- рд╕рдм рдХреБрдЫ рд░реЛрддрд╛ рд╣реИ - рдкреБрд░рд╛рдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдЦрд░рд╛рдм рдХрд╛рдо рдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ;
- рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрд░рд╛рдЬрдХрддрд╛ рдореЗрдВ, npm рдФрд░ рдмрд╛рдПрдВ-рдкреИрдб рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рджреЗрдЦреЗрдВред
рдЯреНрд░реЛрд▓рд┐рдВрдЧ рдЯреНрд░реЛрд▓рд┐рдВрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░ "рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЪрдВрджреНрд░рдорд╛ рдкрд░ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ", рдЕрд░реНрдерд╛рдд рдЕрдкреЛрд▓реЛ 11, рдЬреИрд╕реЗ рдХрд┐ рд▓реЗрдЦрдХ рд╢рд╛рдпрдж рд╣реА рдЙрдиреНрд╣реЗрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдпрд╣ рдЖрдзреБрдирд┐рдХ OS рдХрд┐рд╕реА рднреА рдЙрдкрдХрд░рдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдЕрд╡рд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╣реИред рдпрд╣ рдХрд┐ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реБрд╕реНрддреА рдиреЗ рдПрдХ рдЕрджреНрднреБрдд рд╕реНрдерд┐рддрд┐ рдкреИрджрд╛ рдХрд░ рджреА рдЬрдм рдореЗрд░рд┐рд╕рд╛ рдХреЗ рдкреВрдВрдЬреАрдкрддрд┐рдпреЛрдВ рдиреЗ рдПрдХ рдЖрдзреБрдирд┐рдХ рд╕реНрддрд░ рдкрд░ рд▓реЛрд╣реЗ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рд╣рдорд╛рд░реА рдЬреЗрдм рдореЗрдВ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЗрдЧрд╛рдбреЗрд╡рд┐рд╕ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддреМрд▓рд┐рдпрд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ Google Play рдкрд░ рд╣реИред рдЙрд▓реНрд▓реЗрдЦрд┐рдд npm рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЕрдХрд▓реНрдкрдиреАрдп рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдЪреАрдЬреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрд╖реЛрдВ рдкрд╣рд▓реЗ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред
рдФрд░ рдлрд┐рд░ рдЗрди рд╕рднреА рдХреЙрдорд░реЗрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ "рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ рд╡реЗ рдХреНрдпрд╛ рджреЗрддреЗ рд╣реИрдВ", рдКрдкрд░ рдХреА рд╕реВрдЪреА рд╕реЗ рдЕрдЪрд╛рдирдХ рдореЗрдЧрд╛ рд╡рд┐рдЪрд╛рд░ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдЙрдбрд╝рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдЖрдЗрдП рдЖрдЗрдбреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ:
- рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди (рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб, рдПрдЯрдо) рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдХреНрд╖рд░ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ рд╡рд┐рдо рдпрд╛ рдИрдореИрдХреНрд╕ рд╣реЛ;
- рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ;
- рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬрд╛рд╡рд╛ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рд╛рде рд╣реА рдЙрд╕ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕рдореЗрдВ рдиреЗрдЯрдмреАрдиреНрд╕, рдЖрдИрдбрд┐рдпрд╛ рдФрд░ рдХреНрд▓реЗрдпрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ;
- рдХреЛрдИ рднреА рдЖрдИрдбреАрдИ рдзреАрдорд╛ рдкреНрд░рддрд┐рд╢рдд рдХреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдкреНрд░реЛрдкреНрд░рд╛рдЗрдЯрд░рд╢рд┐рдк рдмреБрд░рд╛рдИ рд╣реИ;
- рд╕реВрдЪреА рдЬрд╛рд░реА рд╣реЛрддреА рд╣реИред
рдпрд╣ рд╕реВрдЪреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЫрдд рдХреЛ рдУрд╡рд░рд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХреЛрдИ рдХрдЪрд░рд╛ рдирд╣реАрдВ рдорд╛рдирддрд╛ред рдпрджрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд┐рдо рдЧреНрд░рд╣рдг (рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрдбрд╝реЛрд╕реА рдорд╛рдЗрдХреНрд░реЛрд╡реЗрд╡ рдХреЗ рд╕рд╛рде рд╡рд┐рдорд░реНрд╕ рдХреЛ рд╡рд┐рдХрд┐рд░рдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрд▓рд┐рдпрдВрд╕ рд░рд╛рдд рдореЗрдВ рдЧреНрд░рд╣рдг рдХрд╛ рдЕрдкрд╣рд░рдг рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпреБрджреНрдзреЛрдВ рдХреЗ рд▓рдВрдмреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдпрд╣рд╛рдВ рдХреЛрдИ рдмрд╛рддрдЪреАрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдордиреБрд╖реНрдп рдХреЛ - рдорд╛рдирд╡ рдХреЛ, рдФрд░ рдкрд╢реБ рдХреЛ - рдкрд╢реБ рдХреЛред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬреАрд╡рди рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝реЗрдЧрд╛ рдФрд░ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ , рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рдЕрдкрд░рд┐рдкрдХреНрд╡ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ ред
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЧрд▓рддреА рдХреА
рдЕрдм рд╣рдо рдЪрд░рдо рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рдПрдХ рддрд░рдл рд╕реНрдЯреЗрд▓рдореИрди рд╕рдВрдкреНрд░рджрд╛рдп рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ, рдФрд░ рджреВрд╕рд░реЗ рдкрд░ рдмрд╣реБрдд рд╕реНрдорд╛рд░реНрдЯ рдЬрд╛рдирд╡рд░ рдирд╣реАрдВ, рдЪрд▓реЛ рдЖрдо рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдкрд╣рд▓реА рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реИрдВред рдпрд╣ рдЙрд╕ рд╕рдордп рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдЬрдм рд▓реЛрдЧ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрд▓реНрдлреА 7 рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдкреНрд░рд╛рдЪреАрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирдП рд╡рд┐рдЬрд╝реБрдЕрд▓реНрдХрд╛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ред рд╣рд╛рдп-рд╣реИрд▓реЛ, рдЕрдм рд╕рд╛рд▓ 2018 рд╣реИ, рдФрд░ рдХреЛрдИ рдЧреБрд▓рд╛рдореА рдирд╣реАрдВ рд╣реИред
рдЧреБрд▓рд╛рдореА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдКрдкрд░ рд╕реЗ CMake рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдУрдкрди рд╕реЛрд░реНрд╕ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЯреВрд▓ рдЬреЛ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ, рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рдкреИрдХреЗрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрд╣ рдЕрднреА рднреА рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рд╣рдерд┐рдпрд╛рд░ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рдбрд░ рдФрд░ рдЧрд▓рддрдлрд╣рдореА рд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╕реНрд╡рдпрдВ рдЬрд╛рд╡рд╛ рд╕реЗ рдЖрддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╣рд▓реА рдмрд╛рд░ pom.xml
рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрдВрдЦреЗрдВ рдХреИрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВред
рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдмрдирд╛рдИ рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдИрдбреАрдИ рдореЗрдВ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред
рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛:
рд╢реЗрдбрд░ рдХреЛ рд╕реАрдзреЗ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреА 3 рдбреАрдХрдВрдкрд╛рдЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде ред рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рдПрд╕рдбреАрдХреЗ (рдЬреЛ рдЕрдм рд╡рд┐рдВрдбреЛрдЬ рдПрд╕рдбреАрдХреЗ рд╣реИ) рд╕реЗ рдбреА 3 рдбреА рд╕реА рдХрдореНрдкрд╛рдЗрд▓рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЖрдИрдбреАрдИ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
main.cpp
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдлрд╝рд╛рдЗрд▓ рд╣реИред рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ CMakeLists.txt
рдореЗрдВ рдореМрдЬреВрдж рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ CMakeLists.txt
ред
рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ: CMakeLists.txt
, рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рд╡рд┐рдзрд╛рдирд╕рднрд╛ main.cpp
рдЗрд╕рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рдПрдХ рдПрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж, рд╢реЗрдбрд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред рд╕рдм рдХреБрдЫ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИ, рдЖрдИрдбреАрдИ рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдИрдбреАрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЖрдо рддреМрд░ рдкрд░ред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ?
рд╕рднрд╛
рддреИрдпрд╛рд░реА рдХреЗ рдХреНрд╖рдг
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рддреИрдпрд╛рд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ Msys2 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛ ред рдпрджрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЦреБрдж рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ :)
CMake рдФрд░ рдирд┐рдВрдЬрд╛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реАрдореЗрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
- рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ : https://cmake.org/download рдореЗрд░реЗ рдкрд╛рд╕ cmake-3.12.2-win64-x64 рд╣реИ;
- рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдЙрд╕ рдкрде рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдЬрд╣рд╛рдВ cmake.exe рдирд┐рд╣рд┐рдд рд╣реИ Windows рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрде;
- рд╕рд╛рдЗрдЯ рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд┐рдВрдЬрд╛ рдЬрдирд░реЗрдЯрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ;
- рдЕрдирдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдкрд╛рде рдореЗрдВ рдХрд╣реАрдВ рдбрд╛рд▓ рджреЗрдВред
PATH рдХреЛ рдХреИрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдХреЛрдпрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛рддреНрд░рд╛ рди рдХрд░реЗрдВ
рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЬреАрдд + рдард╣рд░рд╛рд╡ -> рдЙрдиреНрдирдд рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рдЙрдиреНрдирдд -> рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ 10 рдореЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдкреИрда рдЪрд░ рд╕рдВрдкрд╛рджрдХ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдХреНрд╕рд░ PATH рдХреЗ рд╕рд╛рде рдлрд┐рдбреЗрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдорд╛рдирдХ рд╕рдВрдкрд╛рджрди рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рд░реИрдкрд┐рдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ - рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ рдФрд░ рдирд╕реЛрдВ рдХреЛ рдмрд╣реБрдд рдмрдЪрд╛рддрд╛ рд╣реИред
рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ MinGW рд╕реЗ DLL рдХреЛ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо mingw64\bin
рд╕реЗ dll рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдореАрдиреВ рд╕реЗ PATH рддрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрд╛ред рдЕрдЧрд░ рдХреБрдЫ рдЛрд╖рд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред
рдЕрдм рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ PATH рдореЗрдВ рд╕реАрдзреЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ MinGW рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ред (рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХреЗрд╡рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред) рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдорд╛рдЗрдирд╕ рд╣реИ: рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХреБрдЫ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрде рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдмрдВрдж рд╣реЛрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрд╡рд░рд╡реЙрдЪ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдШрд╛рддрдХ рдмрд╛рдд рд╣реИред
рдпрджрд┐ рдЖрдк, рдореЗрд░реА рддрд░рд╣, рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдЗрд╕реЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рдШрдВрдЯреЛрдВ рдХреЗ рджреМрд░рд╛рди рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ PATH рдореЗрдВ MINGW рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
before.bat:
setx path "Z:\msys64\mingw64\bin;
after.bat:
setx PATH "%PATH:Z:\msys64\mingw64\bin;=%"
DLL рдХреЛ рдЯреЗрд╕реНрдЯ рд░рд┐рд▓реАрдЬрд╝ рдореЛрдб рдореЗрдВ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓рд╛ рддрд░реАрдХрд╛ рдХреЗрд╡рд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ mingw64\bin
рдкрде рдореЗрдВ рд╣реИ, рдЕрд░реНрдерд╛рдд рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ред рдФрд░ рд╡рд╣рд╛рдВ рднреА, рдЖрдк рд╣рдореЗрд╢рд╛ PATH рдХреЛ рдореНрдпреВрдЯ рдХрд░рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрдХреНрддрд┐ (рдпрд╛ рдЦреБрдж рдХреЛ after.bat) рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:


рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреАрдПрд▓ рдбрд╛рд▓рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ dll рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ!
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ Microsoft рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╣реИрдВред
- рдХрд┐рд╕реА рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреВрд░реА рд╕реВрдЪреА ListDLLs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрднреА рддрдХ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдпрджрд┐ рдЖрдк рдЯреВрд▓реНрд╕ рдХрд░рддреЗ рд╣реИрдВ -> рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ,
dumpbin /dependents "Z:\game\build\Mingw64-Debug\src.exe"
, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХрд╛ dll рджрд┐рдЦрд╛рдПрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╡рд╣реА рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдбрдВрдкрдмрд┐рди рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ, рддреЛ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рдЕрднреА рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА - рд╡реЗ рдмрд╕ рдЕрдиреНрдп DLL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдВрдЧреЗред
рдЧрд╣рд░рд╛рдИ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдРрд╕реА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди (msys2, cygwin, рдЖрджрд┐ рд╕реЗ рд╕реАрдзреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдкрд░реНрдпрд╛рдкреНрдд python2 / 3 рдФрд░ objdump рдЕрдВрджрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
- Mingw-bundledlls рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ,
- рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдЧреЗ рд░рдЦреЗрдВ,
- рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ,
blacklist = [
array blacklist = [
рд╣рдорд╛рд░реЗ DirectX рдЯреБрдХрдбрд╝реЗ рдЬреЛрдбрд╝реЗрдВ: d3d10.dll, d3d11.dll, d3dcompiler_43.dll
, chmod 755 ./mingw-bundledlls
,- рдЙрдкрдпреЛрдЧ рдХрд┐рдП
./mingw-bundledlls ./src.exe
рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП: ./mingw-bundledlls ./src.exe
(рдЕрдЪреНрдЫрд╛, рдХреЛрдИ рднреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЬрд┐рд╕реЗ рдЖрдк рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ) - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЕрдЧрд▓рд╛
./mingw-bundledlls --copy ./src.exe
: ./mingw-bundledlls --copy ./src.exe
- рд▓рд╛рдн: рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдПрдХреНрд╕-рдлрд╝рд╛рдЗрд▓ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдЙрд╕реА рддрд░рд╣ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Dll рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА CMake рдХреЛ рдЕрдиреБрдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреЗрдЪреАрджрд╛ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд╡рд┐рддрд░рдг рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдХрднреА рднреА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдореИрдиреБрдЕрд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛
- before.bat
- рдкреНрд░рд╛рд░рдВрдн -> рднрд╛рдЧреЛ -> cmd.exe
cd /dz://game/src
cmake -G "Ninja" -D EXECUTABLE_OUTPUT_PATH="bin" -D CMAKE_CXX_COMPILER="Z:/msys64/mingw64/bin/g++.exe" -D CMAKE_C_COMPILER="Z:/msys64/mingw64/bin/gcc.exe" .
- рдирд┐рдВрдЬрд╛
- рдмрд┐рди рдореЗрдВ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рддреБрд░рдВрдд рдЪрд▓рд╛рдПрдВ, рдпрд╛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреАрдПрд▓ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рд╣рдордиреЗ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЖрдИрдбреАрдИ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реИрдВред
рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдмрдирд╛рдПрдБ
рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдЖрдИрдбреАрдИ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░рдирд╛ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдкрд┐рдЫрд▓реА рдмрд╛рд░, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд▓реЗрдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░реЛрдкрд░рд╛рдЗрдЯрд░рд╢рд┐рдк рдФрд░ рдЬрд╝рд╢реНрдХрд░, рд╕рд╣реА рд╣реИ? рдЗрд╕реЗ рднреВрд▓ рдЬрд╛рдУред рдЕрдм рдХреЗрд╡рд▓ рдореБрдлреНрддред
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо рд╕реБрдкрд░ рд╕рд░рд▓ рд╣реИред
- before.bat
- рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ;
- рдлрд╝рд╛рдЗрд▓ -> рдУрдкрди -> рд╕реАрдПрдордХреЗ;
- CMakeLists.txt рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ;
- рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕реЛрдЪрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рдореБрдЦреНрдп рдореЗрдиреВ -> рдХреИрд╢ -> рдЙрддреНрдкрдиреНрди -> рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо;
- рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реАрдПрдордХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╢рдкрде рд▓реА рдереА, рдореБрдЭреЗ рдЗрд╕реЗ 3.12 рдХреЗ рдмрдЬрд╛рдп 3.11 рддрдХ рдХрдо рдХрд░рдирд╛ рдерд╛);
- рдореБрдЦреНрдп рдореЗрдиреВ -> CMake -> CMake рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реЗрдВ (MinGW64-Debug рдЪреБрдиреЗрдВ);
- рдПрдХ CMakeSettings.json рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рд╣рдо рд╡рд╣рд╛рдВ рдорд┐рдирдЧреНрд╡ рдХреЛ рд░рд╛рд╕реНрддрд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ "Z: \ msys64 \ mingw64" рдХрд┐рдпрд╛ рдерд╛), рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ;
- рдореБрдЦреНрдп рдореЗрдиреВ -> рдХреИрд╢ -> рдЙрддреНрдкрдиреНрди -> CMakeLists.txt;
- рдореБрдЦреНрдп рдореЗрдиреВ -> рдХреИрд╢ -> рдЙрддреНрдкрдиреНрди -> рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо;
- рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдЗрдЯрдо рдПрдХ рд╡реИрдз рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЖрдЗрдЯрдо рдореЗрдиреВ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░реЗ рддреАрд░ рдХреЗ рдмрдЧрд▓ рдореЗрдВ) рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛;
- рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП рдХрд┐ MinGW PATH рдореЗрдВ рд╣реИ), рдпрд╛ after.bat рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрд╡рд╢реНрдпрдХ DLL рдбрд╛рд▓реЗрдВред DLL рдХреЛ рд╕реАрдзреЗ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЗрд╕реЗ CMRSettings.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ buildRoot рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ, рд╕рдЬреНрдЬрдиреЛрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд: рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ, рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдЪрд▓рддрд╛ рд╣реИред рд╣рдордиреЗ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЖрдИрдбреАрдИ рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реИрдВред
Visual Studio рдХреЛрдб рдореЗрдВ рдмрдирд╛рдПрдБ
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЕрднреА рднреА рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдмрдВрдж рд╕реНрд░реЛрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рд╣реИред
рдкрд╣рд▓рд╛ рдордЬрд╛рдХрд┐рдпрд╛ рджрд┐рдорд╛рдЧ рдпрджрд┐ рдЖрдк рдмрдбрд╝реЗ рд╕реНрдХреЗрд▓рд┐рдВрдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдШрд░ рдмреИрдареЗ рдЯреАрд╡реА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ) рдХреЗ рд╕рд╛рде рдореЙрдирд┐рдЯрд░ рдкрд░ VSCode рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ VSCode рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреБрдВрдЬреА --force-device-scale-factor
(рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд╛ рд╢реЙрд░реНрдЯрдХрдЯ рдмрдирд╛рдирд╛, рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ) рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ VSCode рдХреЗ рд▓рд┐рдП PATH рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ PATH рдХреЛ рдкрд╣рд▓реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ред bat рдФрд░ рдПрдХ рдЕрдиреНрдп рд╣реИрдХ, рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдиреАрдЪреЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ VSCode рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- CMake рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рджреГрд╢реНрдп -> тАЛтАЛрдПрдХреНрд╕рдЯреЗрдВрд╢рди -> рдЦреЛрдЬ рдореЗрдВ "CMake рдЙрдкрдХрд░рдг" рджрд░реНрдЬ рдХрд░реЗрдВ, рд╡реЗрдХреНрдЯрд░-рдСрдл-рдмреВрд▓ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рдордиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
- рджреЗрдЦреЗрдВ -> рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ -> рдУрдкрди рдлреЛрд▓реНрдбрд░ (рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ);
- рдХрдорд╛рдВрдб рдкреИрд▓реЗрдЯ (CP, рд╢реЙрд░реНрдЯрдХрдЯ Ctrl + P) -> "> CMake: рдХрд┐рдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрди рдХрд░реЗрдВ";
- рд╣рдорд╛рд░реЗ "рдЬреАрд╕реАрд╕реА 8.2.0" рдХреЛ рдЪреБрдиреЗрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдордПрд╕рд╡рд╛рдИ 2 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдпрд╛ рдЖрдк рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ;
- рдлрд╝рд╛рдЗрд▓> рд╡рд░реАрдпрддрд╛рдПрдБ> рд╕реЗрдЯрд┐рдВрдЧреНрд╕;
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ;
- рдкреИрдирд▓ рдХреЗ рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рддреАрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рдореЗрдиреВ рд╕реЗ "рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЦреЛрд▓реЗрдВ" рдЦреЛрд▓реЗрдВ;
- рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ:
"cmake.configureOnOpen": true, "terminal.integrated.shell.windows": "D:/msys64/usr/bin/bash.exe", "terminal.integrated.shellArgs.windows": [ "-i" ], "terminal.integrated.env.windows": { "PATH": "/mingw64/bin;/usr/local/bin;/usr/bin;/bin;Z:/msys64/bin/;Z:/msys64/usr/local/bin;Z:/msys64/usr/bin;Z:/msys64/bin;Z:/msys64/mingw64/bin/;%PATH%" }, "cmake.buildDirectory": "${workspaceRoot}/build/${buildType}", "cmake.clearOutputBeforeBuild": true, "cmake.generator": "Ninja", "cmake.cmakePath": "C:\\my\\opt\\cmake-3.12.2-win64-x64\\cmake-3.12.2-win64-x64\\bin\\cmake.exe", "cmake.mingwSearchDirs": [ "Z:/msys64/mingw64", ], "cmake.preferredGenerators": [ "Ninja" ], "cmake.loggingLevel": "debug"
- рдмрд┐рд▓реНрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдмрд┐рд▓реНрдб рдХреЛ
build
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рддрд╣ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдЯреЗрдЯрд╕ рд▓рд╛рдЗрди рдореЗрдВ рдЧрд┐рдпрд░ рдХреЗ рд╕рд╛рде Build
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рд╕реАрдзреЗ mingw рдФрд░ cmake рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред "рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдкреЗрдЯ рд╣реИ!" рдмрд╕ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, рдХреГрдкрдпрд╛, рдпрд╣ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, PATH рдХреЛ рдХрдЪрд░рд╛ рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХрд╛ рд╣реИред
"cmake.generator": "MSYS Makefiles"
"cmake.preferredGenerators": [ "MSYS Makefiles"]
- рдЬрд╛рдВрдЪ рд▓реЗрдВ рдХрд┐ рдорд┐рдирдЧ рдбрдмреНрд▓реНрдпреВрдПрдЯреАрдПрдЪ (рдмрд╛рдж рдореЗрдВ) рдореЗрдВ рдирд╣реАрдВ рд╣реИ;
- рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рд╣реИред
- Msys2 рдХрдВрд╕реЛрд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ;
export PATH=/z/msys64/mingw64/bin;$PATH
(рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ "~/.bashrc"
рдореЗрдВ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рд╕реЗ VSCode рдЪрд▓рд╛рдПрдБ:
"C:\Users\olegchir\AppData\Local\Programs\Microsoft VS Code\Code.exe"
- рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЬрдм рдЖрдк рддреБрд░рдВрдд рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╕реЗ рдЗрд╕реЗ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддреБрд░рдВрдд DLL рдЦреЛрдЬ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реИ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ VSCode рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ PATH рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░ рдирд╣реАрдВред
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдПрдХ рдореБрдлреНрдд рдЖрдИрдбреАрдИ рдореЗрдВ рд╣рдо рдЦреБрдж рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдлреА рдХреБрдЫ рдЬреА рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрджрд┐ рдЖрдк рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ, рддреЛ рдЖрдк CMake, MinGW рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореВрдВрдЫреЛрдВ рдореЗрдВ рдЭрдЯрдХрд╛ рди рджреЗрдВред рдЖрдИрдбреАрдИ рдХреЗ рдмреАрдЪ рд╕рдм рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИ, рд╕рдм рдХреБрдЫ рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдордп рдХрд┐рд╕реА рднреА рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП, рдмрдВрдж, рдЧреИрд░-рдореБрдХреНрдд рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рднреА рдХреЛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛, рдФрд░ рдареАрдХ рд╣реИред
рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓реЗрдЦ рдЖрдкрдХреА рд░рд╛рдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВрдЧреЗред рдЖрдк рд╕рд╡рд╛рд▓ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЯреНрд╡рд┐рдЪ рд╕реНрдЯреНрд░реАрдо рдХреЗ рджреМрд░рд╛рди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпреЗ рд▓реЗрдЦ рдмрд┐рд▓реНрдХреБрд▓ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рддрд╣рдд рдХрд┐рддрдиреЗ рд╣рд┐рдВрд╕рдХ рддрд░реАрдХреЗ рд╕реЗ рддреАрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред
┬й рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд░рд╡реЗрд╕реНрдХреА